@takeshape/cli 11.108.1 → 11.110.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +4836 -12
  2. package/package.json +6 -6
package/dist/index.js CHANGED
@@ -206930,7 +206930,7 @@ var engines = {
206930
206930
  };
206931
206931
  var package_default = {
206932
206932
  name: "@takeshape/cli",
206933
- version: "11.108.1",
206933
+ version: "11.110.0",
206934
206934
  description: "TakeShape CLI",
206935
206935
  homepage: "https://www.takeshape.io",
206936
206936
  repository: {
@@ -217545,7 +217545,7 @@ var schema6 = {
217545
217545
  required: ["name"]
217546
217546
  }
217547
217547
  },
217548
- required: ["messageId", "sessionId", "projectId", "runMode"],
217548
+ required: ["messageId", "sessionId", "projectId", "runMode", "sentAt"],
217549
217549
  additionalProperties: false
217550
217550
  };
217551
217551
  var validate6 = createTypedValidator(schema6);
@@ -219695,10 +219695,10 @@ var import_isPlainObject2 = __toESM(require_isPlainObject(), 1);
219695
219695
  var import_isString3 = __toESM(require_isString(), 1);
219696
219696
  var import_isUndefined = __toESM(require_isUndefined(), 1);
219697
219697
 
219698
- // ../schema/dist/schemas/project-schema/v3.57.0.json
219699
- var v3_57_0_default = {
219698
+ // ../schema/dist/schemas/project-schema/v3.58.0.json
219699
+ var v3_58_0_default = {
219700
219700
  $schema: "http://json-schema.org/draft-07/schema#",
219701
- $id: "https://schema.takeshape.io/project-schema/v3.57.0#",
219701
+ $id: "https://schema.takeshape.io/project-schema/v3.58.0#",
219702
219702
  title: "Project Schema JSON",
219703
219703
  definitions: {
219704
219704
  schemaArray: {
@@ -222274,6 +222274,11 @@ var v3_57_0_default = {
222274
222274
  description: "Number of seconds this Shape should be cached. Default 0.",
222275
222275
  type: "number",
222276
222276
  minimum: 0
222277
+ },
222278
+ staleWhileRevalidate: {
222279
+ description: "Requests after maxAge will send a request to origin to revalidate while serving stale content for this duration in the meantime.",
222280
+ type: "number",
222281
+ minimum: 0
222277
222282
  }
222278
222283
  },
222279
222284
  additionalProperties: false,
@@ -224427,7 +224432,7 @@ var v3_57_0_default = {
224427
224432
  },
224428
224433
  schemaVersion: {
224429
224434
  type: "string",
224430
- enum: ["3.57.0"],
224435
+ enum: ["3.58.0"],
224431
224436
  description: "The version of the schema format your project is using. We increase the version as we make breaking changes to the schema format."
224432
224437
  },
224433
224438
  projectId: {
@@ -385329,6 +385334,4823 @@ var v3_56_0_default = {
385329
385334
  ]
385330
385335
  };
385331
385336
 
385337
+ // ../schema/dist/schemas/project-schema/v3.57.0.json
385338
+ var v3_57_0_default = {
385339
+ $schema: "http://json-schema.org/draft-07/schema#",
385340
+ $id: "https://schema.takeshape.io/project-schema/v3.57.0#",
385341
+ title: "Project Schema JSON",
385342
+ definitions: {
385343
+ schemaArray: {
385344
+ title: "Schema Array",
385345
+ type: "array",
385346
+ minItems: 1,
385347
+ items: {
385348
+ $ref: "#/definitions/propertySchema"
385349
+ }
385350
+ },
385351
+ nonNegativeInteger: {
385352
+ title: "Non Negative Integer",
385353
+ type: "integer",
385354
+ minimum: 0
385355
+ },
385356
+ nonNegativeIntegerDefault0: {
385357
+ title: "Non Negative Integer Default 0",
385358
+ allOf: [
385359
+ {
385360
+ $ref: "#/definitions/nonNegativeInteger"
385361
+ },
385362
+ {
385363
+ default: 0
385364
+ }
385365
+ ]
385366
+ },
385367
+ simpleTypes: {
385368
+ title: "Simple Types",
385369
+ enum: ["array", "boolean", "integer", "null", "number", "object", "string"]
385370
+ },
385371
+ stringArray: {
385372
+ title: "String Array",
385373
+ type: "array",
385374
+ items: {
385375
+ type: "string"
385376
+ },
385377
+ uniqueItems: true,
385378
+ default: []
385379
+ },
385380
+ backreference: {
385381
+ title: "Back Reference",
385382
+ description: "A configuration object for a reverse reference in a relationship.",
385383
+ type: "object",
385384
+ properties: {
385385
+ enabled: {
385386
+ type: "boolean"
385387
+ },
385388
+ name: {
385389
+ type: "string",
385390
+ pattern: "^[_a-zA-Z][_a-zA-Z0-9]*$"
385391
+ }
385392
+ },
385393
+ additionalProperties: false,
385394
+ required: ["enabled"]
385395
+ },
385396
+ mappingString: {
385397
+ title: "Mapping String",
385398
+ type: "string",
385399
+ pattern: "^[\\w-]+(?::[\\w-]+)+(?:\\.[\\w%-]+)+$"
385400
+ },
385401
+ fieldMapping: {
385402
+ title: "Field Mapping",
385403
+ oneOf: [
385404
+ {
385405
+ $ref: "#/definitions/mappingString"
385406
+ },
385407
+ {
385408
+ type: "array",
385409
+ items: {
385410
+ $ref: "#/definitions/mappingString"
385411
+ }
385412
+ }
385413
+ ]
385414
+ },
385415
+ refSchema: {
385416
+ title: "Ref Schema",
385417
+ type: "object",
385418
+ properties: {
385419
+ "@ref": {
385420
+ $ref: "#/definitions/ref"
385421
+ }
385422
+ },
385423
+ required: ["@ref"]
385424
+ },
385425
+ refSchemaLegacy: {
385426
+ title: "Ref Schema Legacy",
385427
+ type: "object",
385428
+ properties: {
385429
+ $ref: {
385430
+ $ref: "#/definitions/ref"
385431
+ }
385432
+ },
385433
+ required: ["$ref"]
385434
+ },
385435
+ shapeSchemaEnum: {
385436
+ title: "Shape Schema Enum",
385437
+ type: "object",
385438
+ properties: {
385439
+ enum: {
385440
+ type: "array",
385441
+ minItems: 1,
385442
+ uniqueItems: true
385443
+ }
385444
+ },
385445
+ additionalProperties: false,
385446
+ required: ["enum"]
385447
+ },
385448
+ objectSchema: {
385449
+ title: "Object Schema",
385450
+ type: "object",
385451
+ allOf: [
385452
+ {
385453
+ $ref: "#/definitions/propertySchema"
385454
+ },
385455
+ {
385456
+ properties: {
385457
+ type: {
385458
+ type: "string",
385459
+ const: "object"
385460
+ },
385461
+ properties: {
385462
+ type: "object",
385463
+ additionalProperties: {
385464
+ $ref: "#/definitions/propertySchema"
385465
+ }
385466
+ }
385467
+ },
385468
+ required: ["type", "properties"]
385469
+ }
385470
+ ]
385471
+ },
385472
+ returnShapeArraySchema: {
385473
+ title: "Return Shape Array Schema",
385474
+ type: "object",
385475
+ allOf: [
385476
+ {
385477
+ $ref: "#/definitions/propertySchema"
385478
+ },
385479
+ {
385480
+ properties: {
385481
+ type: {
385482
+ type: "string",
385483
+ const: "array"
385484
+ },
385485
+ items: {
385486
+ oneOf: [
385487
+ {
385488
+ $ref: "#/definitions/refSchema"
385489
+ },
385490
+ {
385491
+ type: "object",
385492
+ properties: {
385493
+ type: {
385494
+ enum: ["boolean", "integer", "number", "string", "object"]
385495
+ }
385496
+ },
385497
+ required: ["type"]
385498
+ }
385499
+ ]
385500
+ }
385501
+ },
385502
+ required: ["type", "items"]
385503
+ }
385504
+ ]
385505
+ },
385506
+ objectOrRefArray: {
385507
+ title: "ObjectOrRefArray",
385508
+ type: "array",
385509
+ items: {
385510
+ oneOf: [
385511
+ {
385512
+ $ref: "#/definitions/refSchema"
385513
+ },
385514
+ {
385515
+ $ref: "#/definitions/refSchemaLegacy"
385516
+ },
385517
+ {
385518
+ $ref: "#/definitions/objectSchema"
385519
+ }
385520
+ ],
385521
+ unevaluatedProperties: true
385522
+ }
385523
+ },
385524
+ shapeSchemaAllOf: {
385525
+ title: "Shape Schema All Of",
385526
+ type: "object",
385527
+ properties: {
385528
+ allOf: {
385529
+ $ref: "#/definitions/objectOrRefArray"
385530
+ }
385531
+ },
385532
+ required: ["allOf"],
385533
+ additionalProperties: false
385534
+ },
385535
+ allOfSchema: {
385536
+ title: "AllOfSchema",
385537
+ allOf: [
385538
+ {
385539
+ $ref: "#/definitions/propertySchema"
385540
+ },
385541
+ {
385542
+ type: "object",
385543
+ properties: {
385544
+ allOf: {
385545
+ $ref: "#/definitions/objectOrRefArray"
385546
+ }
385547
+ },
385548
+ required: ["allOf"]
385549
+ }
385550
+ ]
385551
+ },
385552
+ shapeSchemaExtends: {
385553
+ title: "ShapeSchemaExtends",
385554
+ type: "object",
385555
+ properties: {
385556
+ extends: {
385557
+ $ref: "#/definitions/objectOrRefArray"
385558
+ }
385559
+ },
385560
+ required: ["extends"],
385561
+ additionalProperties: false
385562
+ },
385563
+ extendsSchema: {
385564
+ title: "ExtendsSchema",
385565
+ allOf: [
385566
+ {
385567
+ $ref: "#/definitions/propertySchema"
385568
+ },
385569
+ {
385570
+ type: "object",
385571
+ properties: {
385572
+ extends: {
385573
+ $ref: "#/definitions/objectOrRefArray"
385574
+ }
385575
+ },
385576
+ required: ["extends"]
385577
+ }
385578
+ ]
385579
+ },
385580
+ shapeSchemaOneOf: {
385581
+ title: "Shape Schema One Of",
385582
+ type: "object",
385583
+ properties: {
385584
+ oneOf: {
385585
+ $ref: "#/definitions/objectOrRefArray"
385586
+ }
385587
+ },
385588
+ required: ["oneOf"],
385589
+ additionalProperties: false
385590
+ },
385591
+ oneOfSchema: {
385592
+ title: "OneOfSchema",
385593
+ allOf: [
385594
+ {
385595
+ $ref: "#/definitions/propertySchema"
385596
+ },
385597
+ {
385598
+ type: "object",
385599
+ properties: {
385600
+ oneOf: {
385601
+ $ref: "#/definitions/objectOrRefArray"
385602
+ }
385603
+ },
385604
+ required: ["oneOf"],
385605
+ additionalProperties: false
385606
+ }
385607
+ ]
385608
+ },
385609
+ shapeSchemaAny: {
385610
+ type: "object",
385611
+ title: "ShapeSchemaAny",
385612
+ additionalProperties: false
385613
+ },
385614
+ shapeSchema: {
385615
+ title: "Shape Schema",
385616
+ type: "object",
385617
+ oneOf: [
385618
+ {
385619
+ $ref: "#/definitions/shapeSchemaAllOf"
385620
+ },
385621
+ {
385622
+ $ref: "#/definitions/shapeSchemaExtends"
385623
+ },
385624
+ {
385625
+ $ref: "#/definitions/shapeSchemaOneOf"
385626
+ },
385627
+ {
385628
+ $ref: "#/definitions/shapeSchemaEnum"
385629
+ },
385630
+ {
385631
+ $ref: "#/definitions/objectSchema"
385632
+ },
385633
+ {
385634
+ $ref: "#/definitions/shapeSchemaAny"
385635
+ }
385636
+ ]
385637
+ },
385638
+ queryMap: {
385639
+ title: "Query Map",
385640
+ type: "object",
385641
+ patternProperties: {
385642
+ "^[0-9A-Za-z_]+$": {
385643
+ $ref: "#/definitions/query"
385644
+ }
385645
+ },
385646
+ additionalProperties: false
385647
+ },
385648
+ args: {
385649
+ title: "Args",
385650
+ oneOf: [
385651
+ {
385652
+ type: "string"
385653
+ },
385654
+ {
385655
+ $ref: "#/definitions/objectSchema"
385656
+ },
385657
+ {
385658
+ $ref: "#/definitions/extendsSchema"
385659
+ }
385660
+ ]
385661
+ },
385662
+ returnShape: {
385663
+ title: "Return Shape",
385664
+ oneOf: [
385665
+ {
385666
+ type: "string"
385667
+ },
385668
+ {
385669
+ $ref: "#/definitions/returnShapeArraySchema"
385670
+ }
385671
+ ]
385672
+ },
385673
+ directiveConfigItem: {
385674
+ title: "Directive Config Item",
385675
+ description: "A tuple with a string directive name, and options to pass to the directive",
385676
+ type: "array",
385677
+ items: [
385678
+ {
385679
+ title: "Directive Name",
385680
+ type: "string"
385681
+ },
385682
+ {
385683
+ title: "Directive Options",
385684
+ type: "object",
385685
+ propertyNames: {
385686
+ pattern: "[0-9A-Za-z_-]+"
385687
+ }
385688
+ }
385689
+ ]
385690
+ },
385691
+ parameterSerializeStyleOptions: {
385692
+ title: "Parameter Serialize Style Options",
385693
+ description: "All possible options for the more specific ParameterSerializeStyleOptions types.",
385694
+ type: "object",
385695
+ properties: {
385696
+ style: {
385697
+ type: "string",
385698
+ enum: ["simple", "label", "matrix", "form", "spaceDelimited", "pipeDelimited", "deepObject", "none"]
385699
+ },
385700
+ explode: {
385701
+ type: "boolean"
385702
+ },
385703
+ allowEmptyValue: {
385704
+ type: "boolean"
385705
+ },
385706
+ allowReserved: {
385707
+ description: "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
385708
+ type: "boolean"
385709
+ },
385710
+ skipEncoding: {
385711
+ type: "boolean"
385712
+ }
385713
+ },
385714
+ required: ["style"],
385715
+ additionalProperties: false
385716
+ },
385717
+ parameterSerializeStyleOptionsForPathParams: {
385718
+ title: "Parameter Serialize Style Options For Path Params",
385719
+ description: "Options to be passed to the serialization routine.",
385720
+ type: "object",
385721
+ properties: {
385722
+ style: {
385723
+ type: "string",
385724
+ enum: ["simple", "label", "matrix", "none"]
385725
+ },
385726
+ explode: {
385727
+ type: "boolean"
385728
+ },
385729
+ allowEmptyValue: {
385730
+ type: "boolean"
385731
+ },
385732
+ allowReserved: {
385733
+ description: "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
385734
+ type: "boolean"
385735
+ },
385736
+ skipEncoding: {
385737
+ type: "boolean"
385738
+ }
385739
+ },
385740
+ required: ["style"],
385741
+ additionalProperties: false
385742
+ },
385743
+ parameterSerializeStyleOptionsForSearchParams: {
385744
+ title: "Parameter Serialize Style Options For Search Params",
385745
+ description: "Options to be passed to the serialization routine.",
385746
+ type: "object",
385747
+ properties: {
385748
+ style: {
385749
+ type: "string",
385750
+ enum: ["form", "spaceDelimited", "pipeDelimited", "deepObject", "none"]
385751
+ },
385752
+ explode: {
385753
+ type: "boolean"
385754
+ },
385755
+ allowEmptyValue: {
385756
+ type: "boolean"
385757
+ },
385758
+ allowReserved: {
385759
+ description: "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
385760
+ type: "boolean"
385761
+ },
385762
+ skipEncoding: {
385763
+ type: "boolean"
385764
+ }
385765
+ },
385766
+ required: ["style"],
385767
+ additionalProperties: false
385768
+ },
385769
+ parameterSerializeStyleOptionsForHeaders: {
385770
+ title: "Parameter Serialize Style Options For Headers",
385771
+ description: "Options to be passed to the serialization routine.",
385772
+ type: "object",
385773
+ properties: {
385774
+ style: {
385775
+ type: "string",
385776
+ enum: ["simple", "none"]
385777
+ },
385778
+ explode: {
385779
+ type: "boolean"
385780
+ }
385781
+ },
385782
+ required: ["style"],
385783
+ additionalProperties: false
385784
+ },
385785
+ parameterSerializeContentOptions: {
385786
+ title: "Parameter Serialize Content Options",
385787
+ description: "Options to be passed to the serialization routine.",
385788
+ type: "object",
385789
+ properties: {
385790
+ contentType: {
385791
+ type: "string"
385792
+ },
385793
+ allowReserved: {
385794
+ description: "The allowReserved keyword specifies whether the reserved characters :/?#[]@!$&'()*+,;= in parameter values are allowed to be sent as they are.",
385795
+ type: "boolean"
385796
+ },
385797
+ skipEncoding: {
385798
+ type: "boolean"
385799
+ },
385800
+ options: {
385801
+ description: "Options to be passed directly to the content serializer library. Valid options depend upon your contentType.",
385802
+ type: "object"
385803
+ }
385804
+ },
385805
+ required: ["contentType"],
385806
+ additionalProperties: false
385807
+ },
385808
+ parameterSerializeOptions: {
385809
+ title: "Parameter Serialize Options",
385810
+ description: "Options to be passed to the serialization routine.",
385811
+ type: "object",
385812
+ oneOf: [
385813
+ {
385814
+ $ref: "#/definitions/parameterSerializeStyleOptions"
385815
+ },
385816
+ {
385817
+ $ref: "#/definitions/parameterSerializeContentOptions"
385818
+ }
385819
+ ]
385820
+ },
385821
+ parameterSerializeConfig: {
385822
+ title: "Parameter Serialize Config",
385823
+ description: "All possible options for the more specific ParameterSerializeConfig types.",
385824
+ type: "object",
385825
+ properties: {
385826
+ content: {
385827
+ $ref: "#/definitions/parameterSerializeContentOptions"
385828
+ },
385829
+ defaults: {
385830
+ $ref: "#/definitions/parameterSerializeOptions"
385831
+ },
385832
+ paths: {
385833
+ type: "object",
385834
+ patternProperties: {
385835
+ "^[^\\n\\r]*$": {
385836
+ $ref: "#/definitions/parameterSerializeOptions"
385837
+ }
385838
+ }
385839
+ }
385840
+ },
385841
+ additionalProperties: false
385842
+ },
385843
+ parameterSerializeConfigForBody: {
385844
+ title: "Parameter Serialize Config For Body",
385845
+ description: "Top-level paths to use serialization options for.",
385846
+ type: "object",
385847
+ properties: {
385848
+ content: {
385849
+ $ref: "#/definitions/parameterSerializeContentOptions"
385850
+ }
385851
+ },
385852
+ additionalProperties: false
385853
+ },
385854
+ parameterSerializeConfigForPathParams: {
385855
+ title: "Parameter Serialize Config For Path Params",
385856
+ description: "Top-level paths to use path params serialization options for.",
385857
+ type: "object",
385858
+ properties: {
385859
+ template: {
385860
+ description: "For generating the path using tokens frpm the ParameterOps, e.g., '/products/{productId}'",
385861
+ type: "string"
385862
+ },
385863
+ defaults: {
385864
+ oneOf: [
385865
+ {
385866
+ $ref: "#/definitions/parameterSerializeStyleOptionsForPathParams"
385867
+ },
385868
+ {
385869
+ $ref: "#/definitions/parameterSerializeContentOptions"
385870
+ }
385871
+ ]
385872
+ },
385873
+ paths: {
385874
+ type: "object",
385875
+ patternProperties: {
385876
+ "^[^\\n\\r]*$": {
385877
+ oneOf: [
385878
+ {
385879
+ $ref: "#/definitions/parameterSerializeStyleOptionsForPathParams"
385880
+ },
385881
+ {
385882
+ $ref: "#/definitions/parameterSerializeContentOptions"
385883
+ }
385884
+ ]
385885
+ }
385886
+ }
385887
+ }
385888
+ },
385889
+ required: ["template"],
385890
+ additionalProperties: false
385891
+ },
385892
+ parameterSerializeConfigForSearchParams: {
385893
+ title: "Parameter Serialize Config For Search Params",
385894
+ description: "Top-level paths to use search params serialization options for.",
385895
+ type: "object",
385896
+ properties: {
385897
+ defaults: {
385898
+ oneOf: [
385899
+ {
385900
+ $ref: "#/definitions/parameterSerializeStyleOptionsForSearchParams"
385901
+ },
385902
+ {
385903
+ $ref: "#/definitions/parameterSerializeContentOptions"
385904
+ }
385905
+ ]
385906
+ },
385907
+ paths: {
385908
+ type: "object",
385909
+ patternProperties: {
385910
+ "^[^\\n\\r]*$": {
385911
+ oneOf: [
385912
+ {
385913
+ $ref: "#/definitions/parameterSerializeStyleOptionsForSearchParams"
385914
+ },
385915
+ {
385916
+ $ref: "#/definitions/parameterSerializeContentOptions"
385917
+ }
385918
+ ]
385919
+ }
385920
+ }
385921
+ }
385922
+ },
385923
+ additionalProperties: false
385924
+ },
385925
+ parameterSerializeConfigForHeaders: {
385926
+ title: "Parameter Serialize Config For Headers",
385927
+ description: "Top-level paths to use headers serialization options for.",
385928
+ type: "object",
385929
+ properties: {
385930
+ defaults: {
385931
+ oneOf: [
385932
+ {
385933
+ $ref: "#/definitions/parameterSerializeStyleOptionsForHeaders"
385934
+ },
385935
+ {
385936
+ $ref: "#/definitions/parameterSerializeContentOptions"
385937
+ }
385938
+ ]
385939
+ },
385940
+ paths: {
385941
+ type: "object",
385942
+ patternProperties: {
385943
+ "^[^\\n\\r]*$": {
385944
+ oneOf: [
385945
+ {
385946
+ $ref: "#/definitions/parameterSerializeStyleOptionsForHeaders"
385947
+ },
385948
+ {
385949
+ $ref: "#/definitions/parameterSerializeContentOptions"
385950
+ }
385951
+ ]
385952
+ }
385953
+ }
385954
+ }
385955
+ },
385956
+ additionalProperties: false
385957
+ },
385958
+ parameterOpNested: {
385959
+ title: "Parameter Op Nested",
385960
+ description: "An object describing an operation to generate a parameter, using a nested OpList.",
385961
+ type: "object",
385962
+ properties: {
385963
+ path: {
385964
+ description: "A path to the parameter for this operation.",
385965
+ type: "string",
385966
+ minLength: 1,
385967
+ pattern: "^[^\\n\\r]*$"
385968
+ },
385969
+ op: {
385970
+ description: "A mode for this parameter's operation.",
385971
+ type: "string",
385972
+ enum: ["set", "concat", "extend", "remove"]
385973
+ },
385974
+ ops: {
385975
+ description: "A nested op list.",
385976
+ $ref: "#/definitions/parameterOpList"
385977
+ }
385978
+ },
385979
+ required: ["path", "ops"],
385980
+ additionalProperties: false
385981
+ },
385982
+ parameterOpValue: {
385983
+ title: "Parameter Op Value",
385984
+ description: "An object describing an operation to generate a parameter using a value.",
385985
+ type: "object",
385986
+ properties: {
385987
+ path: {
385988
+ description: "A path to the parameter for this operation.",
385989
+ type: "string",
385990
+ minLength: 1,
385991
+ pattern: "^[^\\n\\r]*$"
385992
+ },
385993
+ op: {
385994
+ description: "A mode for this parameter's operation.",
385995
+ type: "string",
385996
+ enum: ["set", "concat", "extend", "remove"]
385997
+ },
385998
+ value: {
385999
+ description: "A value to set directly at this path.",
386000
+ type: ["number", "string", "boolean", "object", "array", "null"]
386001
+ }
386002
+ },
386003
+ required: ["path", "value"],
386004
+ additionalProperties: false
386005
+ },
386006
+ parameterOpMapping: {
386007
+ title: "Parameter Op Mapping",
386008
+ description: "An object describing an operation to generate a parameter using a mapping.",
386009
+ type: "object",
386010
+ properties: {
386011
+ path: {
386012
+ description: "A path to the parameter for this operation.",
386013
+ type: "string",
386014
+ minLength: 1,
386015
+ pattern: "^[^\\n\\r]*$"
386016
+ },
386017
+ op: {
386018
+ description: "A mode for this parameter's operation.",
386019
+ type: "string",
386020
+ enum: ["set", "concat", "extend", "remove"]
386021
+ },
386022
+ mapping: {
386023
+ description: "Either a valid JSONPath or a directive pipeline to evaluate against the query context.",
386024
+ oneOf: [
386025
+ {
386026
+ type: "string",
386027
+ minLength: 1
386028
+ },
386029
+ {
386030
+ $ref: "#/definitions/directiveConfig"
386031
+ }
386032
+ ]
386033
+ }
386034
+ },
386035
+ required: ["path", "mapping"],
386036
+ additionalProperties: false
386037
+ },
386038
+ parameterOpOp: {
386039
+ title: "Parameter Op Op",
386040
+ description: "An object describing an operation to generate a parameter using a mapping.",
386041
+ type: "object",
386042
+ properties: {
386043
+ path: {
386044
+ description: "A path to the parameter for this operation.",
386045
+ type: "string",
386046
+ minLength: 1,
386047
+ pattern: "^[^\\n\\r]*$"
386048
+ },
386049
+ op: {
386050
+ description: "A mode for this parameter's operation.",
386051
+ type: "string",
386052
+ enum: ["set", "concat", "extend", "remove"]
386053
+ }
386054
+ },
386055
+ required: ["path", "op"],
386056
+ additionalProperties: false
386057
+ },
386058
+ parameterOp: {
386059
+ title: "Parameter Op",
386060
+ description: "An object describing an operation to generate a parameter.",
386061
+ oneOf: [
386062
+ {
386063
+ $ref: "#/definitions/parameterOpNested"
386064
+ },
386065
+ {
386066
+ $ref: "#/definitions/parameterOpValue"
386067
+ },
386068
+ {
386069
+ $ref: "#/definitions/parameterOpMapping"
386070
+ },
386071
+ {
386072
+ $ref: "#/definitions/parameterOpOp"
386073
+ }
386074
+ ]
386075
+ },
386076
+ parameterOpList: {
386077
+ title: "Parameter Op List",
386078
+ type: "array",
386079
+ items: {
386080
+ $ref: "#/definitions/parameterOp"
386081
+ },
386082
+ minItems: 1
386083
+ },
386084
+ parameterConfig: {
386085
+ title: "Parameter Config",
386086
+ description: "All possible options for the more specific ParameterConfig types.",
386087
+ type: "object",
386088
+ properties: {
386089
+ ops: {
386090
+ $ref: "#/definitions/parameterOpList"
386091
+ },
386092
+ serialize: {
386093
+ $ref: "#/definitions/parameterSerializeConfig"
386094
+ }
386095
+ },
386096
+ required: ["ops"],
386097
+ additionalProperties: false
386098
+ },
386099
+ parameterConfigForBody: {
386100
+ title: "Parameter Config For Body",
386101
+ type: "object",
386102
+ properties: {
386103
+ ops: {
386104
+ $ref: "#/definitions/parameterOpList"
386105
+ },
386106
+ serialize: {
386107
+ $ref: "#/definitions/parameterSerializeConfigForBody"
386108
+ }
386109
+ },
386110
+ required: ["ops"],
386111
+ additionalProperties: false
386112
+ },
386113
+ parameterConfigForPathParams: {
386114
+ title: "Parameter Config For Path Params",
386115
+ type: "object",
386116
+ properties: {
386117
+ ops: {
386118
+ $ref: "#/definitions/parameterOpList"
386119
+ },
386120
+ serialize: {
386121
+ $ref: "#/definitions/parameterSerializeConfigForPathParams"
386122
+ }
386123
+ },
386124
+ required: ["ops", "serialize"],
386125
+ additionalProperties: false
386126
+ },
386127
+ parameterConfigForAwsLambda: {
386128
+ title: "ParameterConfigForAwsLambda",
386129
+ type: "object",
386130
+ properties: {
386131
+ ops: {
386132
+ $ref: "#/definitions/parameterOpList"
386133
+ },
386134
+ serialize: {
386135
+ $ref: "#/definitions/parameterSerializeConfigForPathParams"
386136
+ }
386137
+ },
386138
+ required: ["ops", "serialize"],
386139
+ additionalProperties: false
386140
+ },
386141
+ parameterConfigForSearchParams: {
386142
+ title: "Parameter Config For Search Params",
386143
+ type: "object",
386144
+ properties: {
386145
+ ops: {
386146
+ $ref: "#/definitions/parameterOpList"
386147
+ },
386148
+ serialize: {
386149
+ $ref: "#/definitions/parameterSerializeConfigForSearchParams"
386150
+ }
386151
+ },
386152
+ required: ["ops"],
386153
+ additionalProperties: false
386154
+ },
386155
+ parameterConfigForHeaders: {
386156
+ title: "Parameter Config For Headers",
386157
+ type: "object",
386158
+ properties: {
386159
+ ops: {
386160
+ $ref: "#/definitions/parameterOpList"
386161
+ },
386162
+ serialize: {
386163
+ $ref: "#/definitions/parameterSerializeConfigForHeaders"
386164
+ }
386165
+ },
386166
+ required: ["ops"],
386167
+ additionalProperties: false
386168
+ },
386169
+ parameterConfigForJson: {
386170
+ title: "Parameter Config For Json",
386171
+ type: "object",
386172
+ properties: {
386173
+ ops: {
386174
+ $ref: "#/definitions/parameterOpList"
386175
+ }
386176
+ },
386177
+ required: ["ops"],
386178
+ additionalProperties: false
386179
+ },
386180
+ directiveConfig: {
386181
+ title: "Directive Config",
386182
+ description: "An array of individual directive config items to process in order",
386183
+ type: "array",
386184
+ items: {
386185
+ $ref: "#/definitions/directiveConfigItem"
386186
+ },
386187
+ minItems: 1
386188
+ },
386189
+ directiveMappingMap: {
386190
+ title: "Directive Mapping Map",
386191
+ description: "An map of object keys / key paths to directive configs",
386192
+ type: "object",
386193
+ patternProperties: {
386194
+ "[0-9A-Za-z_-]+": {
386195
+ $ref: "#/definitions/directiveConfig"
386196
+ }
386197
+ }
386198
+ },
386199
+ directiveMappingArrayItem: {
386200
+ title: "Directive Mapping Array Item",
386201
+ description: "A tuple with a string key and a directive config to evaluate",
386202
+ type: "array",
386203
+ items: [
386204
+ {
386205
+ type: "string"
386206
+ },
386207
+ {
386208
+ $ref: "#/definitions/directiveConfig"
386209
+ }
386210
+ ]
386211
+ },
386212
+ directiveMappingArray: {
386213
+ title: "Directive Mapping Array",
386214
+ description: "An array of key / value or directive config tuples",
386215
+ type: "array",
386216
+ items: {
386217
+ $ref: "#/definitions/directiveMappingArrayItem"
386218
+ }
386219
+ },
386220
+ basicResolver: {
386221
+ title: "BasicResolver",
386222
+ description: "A single resolver, can be composed with the ComposeResolver.",
386223
+ discriminator: {
386224
+ propertyName: "name"
386225
+ },
386226
+ oneOf: [
386227
+ {
386228
+ $ref: "#/definitions/utilResolver"
386229
+ },
386230
+ {
386231
+ $ref: "#/definitions/delegateResolver"
386232
+ },
386233
+ {
386234
+ $ref: "#/definitions/takeshapeResolver"
386235
+ },
386236
+ {
386237
+ $ref: "#/definitions/shapedbResolver"
386238
+ },
386239
+ {
386240
+ $ref: "#/definitions/shapedbResolverShapeNameNotRequired"
386241
+ },
386242
+ {
386243
+ $ref: "#/definitions/graphqlResolver"
386244
+ },
386245
+ {
386246
+ $ref: "#/definitions/restResolver"
386247
+ },
386248
+ {
386249
+ $ref: "#/definitions/awsLambdaResolver"
386250
+ },
386251
+ {
386252
+ $ref: "#/definitions/salsifyResolver"
386253
+ },
386254
+ {
386255
+ $ref: "#/definitions/syndigoResolver"
386256
+ },
386257
+ {
386258
+ $ref: "#/definitions/functionResolver"
386259
+ },
386260
+ {
386261
+ $ref: "#/definitions/aiGenerateTextResolver"
386262
+ },
386263
+ {
386264
+ $ref: "#/definitions/aiGeneratePropertyResolver"
386265
+ },
386266
+ {
386267
+ $ref: "#/definitions/aiEmbeddingResolver"
386268
+ },
386269
+ {
386270
+ $ref: "#/definitions/aiEmbeddingSearchResolver"
386271
+ },
386272
+ {
386273
+ $ref: "#/definitions/aiParseFileResolver"
386274
+ },
386275
+ {
386276
+ $ref: "#/definitions/utilChunkResolver"
386277
+ },
386278
+ {
386279
+ $ref: "#/definitions/aiRunAgentResolver"
386280
+ },
386281
+ {
386282
+ $ref: "#/definitions/aiInspectAgentResolver"
386283
+ },
386284
+ {
386285
+ $ref: "#/definitions/aiCreateAgentSessionResolver"
386286
+ },
386287
+ {
386288
+ $ref: "#/definitions/aiGetAgentMessageResolver"
386289
+ },
386290
+ {
386291
+ $ref: "#/definitions/aiAbortAgentMessageResolver"
386292
+ },
386293
+ {
386294
+ $ref: "#/definitions/aiSendAgentFeedbackResolver"
386295
+ }
386296
+ ]
386297
+ },
386298
+ serviceResolver: {
386299
+ title: "ServiceResolver",
386300
+ description: "A resolver which references a specific service",
386301
+ discriminator: {
386302
+ propertyName: "name"
386303
+ },
386304
+ oneOf: [
386305
+ {
386306
+ $ref: "#/definitions/takeshapeResolver"
386307
+ },
386308
+ {
386309
+ $ref: "#/definitions/shapedbResolverShapeNameNotRequired"
386310
+ },
386311
+ {
386312
+ $ref: "#/definitions/shapedbResolver"
386313
+ },
386314
+ {
386315
+ $ref: "#/definitions/graphqlResolver"
386316
+ },
386317
+ {
386318
+ $ref: "#/definitions/restResolver"
386319
+ },
386320
+ {
386321
+ $ref: "#/definitions/awsLambdaResolver"
386322
+ }
386323
+ ]
386324
+ },
386325
+ argsMapping: {
386326
+ title: "ArgsMapping",
386327
+ description: "Maps a query's input args to the input expected by the service's endpoint.",
386328
+ oneOf: [
386329
+ {
386330
+ $ref: "#/definitions/directiveMappingMap"
386331
+ },
386332
+ {
386333
+ $ref: "#/definitions/directiveConfig"
386334
+ }
386335
+ ]
386336
+ },
386337
+ searchParamsMapping: {
386338
+ title: "SearchParamsMapping",
386339
+ description: "Set or evaluate directives to generate searchParams for the service endpoint.",
386340
+ $ref: "#/definitions/directiveMappingArray"
386341
+ },
386342
+ resultsMapping: {
386343
+ title: "ResultsMapping",
386344
+ description: "Maps a service endpoint's response results to the expected shape of the query's response.",
386345
+ oneOf: [
386346
+ {
386347
+ $ref: "#/definitions/directiveMappingMap"
386348
+ },
386349
+ {
386350
+ $ref: "#/definitions/directiveConfig"
386351
+ }
386352
+ ]
386353
+ },
386354
+ utilResolver: {
386355
+ title: "UtilResolver",
386356
+ type: "object",
386357
+ properties: {
386358
+ if: {
386359
+ type: "string"
386360
+ },
386361
+ id: {
386362
+ type: "string",
386363
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386364
+ },
386365
+ name: {
386366
+ title: "UtilResolverName",
386367
+ type: "string",
386368
+ description: "Name of the resolver function.",
386369
+ enum: ["util:noop", "util:wrap"]
386370
+ },
386371
+ options: {
386372
+ title: "UtilResolverOptions",
386373
+ type: "object",
386374
+ additionalProperties: true
386375
+ },
386376
+ value: {
386377
+ description: "Optional value to return from the noop resolver.",
386378
+ type: ["number", "string", "boolean", "object", "array", "null"]
386379
+ },
386380
+ args: {
386381
+ description: "Mapping and serialization configuration for args.",
386382
+ $ref: "#/definitions/parameterConfigForJson"
386383
+ },
386384
+ results: {
386385
+ description: "Mapping configuration for the results of this resolver step.",
386386
+ $ref: "#/definitions/parameterConfigForJson"
386387
+ },
386388
+ argsMapping: {
386389
+ $ref: "#/definitions/argsMapping"
386390
+ },
386391
+ resultsMapping: {
386392
+ $ref: "#/definitions/resultsMapping"
386393
+ }
386394
+ },
386395
+ required: ["name"],
386396
+ additionalProperties: false
386397
+ },
386398
+ utilChunkResolver: {
386399
+ title: "ChunkResolver",
386400
+ type: "object",
386401
+ properties: {
386402
+ if: {
386403
+ type: "string"
386404
+ },
386405
+ id: {
386406
+ type: "string",
386407
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386408
+ },
386409
+ name: {
386410
+ title: "UtilResolverName",
386411
+ type: "string",
386412
+ description: "Name of the resolver function.",
386413
+ enum: ["util:chunk"]
386414
+ },
386415
+ options: {
386416
+ $ref: "#/definitions/utilChunkResolverOptions"
386417
+ },
386418
+ args: {
386419
+ description: "Mapping and serialization configuration for args.",
386420
+ $ref: "#/definitions/parameterConfigForJson"
386421
+ },
386422
+ results: {
386423
+ description: "Mapping configuration for the results of this resolver step.",
386424
+ $ref: "#/definitions/parameterConfigForJson"
386425
+ }
386426
+ },
386427
+ required: ["name", "options"],
386428
+ additionalProperties: false
386429
+ },
386430
+ utilChunkResolverOptions: {
386431
+ title: "UtilChunkResolverOptions",
386432
+ oneOf: [
386433
+ {
386434
+ $ref: "#/definitions/utilChunkResolverOptionsCharacterCount"
386435
+ },
386436
+ {
386437
+ $ref: "#/definitions/utilChunkResolverOptionsSeparators"
386438
+ },
386439
+ {
386440
+ $ref: "#/definitions/utilChunkResolverOptionsMarkdown"
386441
+ },
386442
+ {
386443
+ $ref: "#/definitions/utilChunkResolverOptionsSemantic"
386444
+ }
386445
+ ]
386446
+ },
386447
+ utilChunkResolverOptionsCharacterCount: {
386448
+ title: "UtilChunkResolverOptionsCharacterCount",
386449
+ type: "object",
386450
+ properties: {
386451
+ type: {
386452
+ enum: ["characterCount"]
386453
+ },
386454
+ characterCount: {
386455
+ type: "integer",
386456
+ minimum: 1
386457
+ }
386458
+ },
386459
+ required: ["type", "characterCount"],
386460
+ additionalProperties: false
386461
+ },
386462
+ utilChunkResolverOptionsSeparators: {
386463
+ title: "UtilChunkResolverOptionsSeparators",
386464
+ type: "object",
386465
+ properties: {
386466
+ type: {
386467
+ enum: ["separators"]
386468
+ },
386469
+ separators: {
386470
+ type: "array",
386471
+ minItems: 1,
386472
+ items: {
386473
+ type: "string",
386474
+ minLength: 1
386475
+ }
386476
+ }
386477
+ },
386478
+ required: ["type", "separators"],
386479
+ additionalProperties: false
386480
+ },
386481
+ utilChunkResolverOptionsMarkdown: {
386482
+ title: "UtilChunkResolverOptionsMarkdown",
386483
+ type: "object",
386484
+ properties: {
386485
+ type: {
386486
+ enum: ["markdown"]
386487
+ },
386488
+ headerLevel: {
386489
+ description: "New chunks will be created at headers for this level or lower. Default 2.",
386490
+ type: "integer",
386491
+ minimum: 1
386492
+ },
386493
+ maxCharacters: {
386494
+ description: "A new chunk will be started when this number of characters is reached, regardless of markup.",
386495
+ type: "integer",
386496
+ minimum: 1
386497
+ }
386498
+ },
386499
+ required: ["type"],
386500
+ additionalProperties: false
386501
+ },
386502
+ utilChunkResolverOptionsSemantic: {
386503
+ title: "UtilChunkResolverOptionsSemantic",
386504
+ type: "object",
386505
+ properties: {
386506
+ type: {
386507
+ enum: ["semantic"]
386508
+ },
386509
+ serviceId: {
386510
+ type: "string"
386511
+ },
386512
+ modelId: {
386513
+ type: "string"
386514
+ },
386515
+ similarityThreshold: {
386516
+ description: "Similarity below which two embeddings are considered different.",
386517
+ type: "number",
386518
+ minimum: 0,
386519
+ maximum: 1
386520
+ },
386521
+ stride: {
386522
+ description: "Advanced. How many sentences to advance when grouping sentences to create embeddings. Default 1.",
386523
+ type: "integer",
386524
+ minimum: 1
386525
+ },
386526
+ sentenceCount: {
386527
+ description: "Advanced. How many sentences are grouped together to create embeddings. Default 3.",
386528
+ type: "integer",
386529
+ minimum: 1
386530
+ },
386531
+ maxCharacters: {
386532
+ description: "The maximum number of characters in a chunk.",
386533
+ type: "integer",
386534
+ min: 1
386535
+ },
386536
+ maxTokens: {
386537
+ description: "The maximum number of tokens in a chunk.",
386538
+ type: "integer",
386539
+ min: 1
386540
+ }
386541
+ },
386542
+ required: ["type", "serviceId", "modelId"],
386543
+ additionalProperties: false
386544
+ },
386545
+ functionResolver: {
386546
+ title: "FunctionResolver",
386547
+ type: "object",
386548
+ properties: {
386549
+ if: {
386550
+ type: "string"
386551
+ },
386552
+ id: {
386553
+ type: "string",
386554
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386555
+ },
386556
+ name: {
386557
+ title: "FunctionResolverName",
386558
+ type: "string",
386559
+ description: "Name of the resolver function.",
386560
+ enum: ["function:run"]
386561
+ },
386562
+ options: {
386563
+ title: "FunctionResolverOptions",
386564
+ type: "object",
386565
+ additionalProperties: true
386566
+ },
386567
+ args: {
386568
+ description: "Mapping and serialization configuration for args.",
386569
+ $ref: "#/definitions/parameterConfigForJson"
386570
+ },
386571
+ results: {
386572
+ description: "Mapping configuration for the results of this resolver step.",
386573
+ $ref: "#/definitions/parameterConfigForJson"
386574
+ },
386575
+ argsMapping: {
386576
+ $ref: "#/definitions/argsMapping"
386577
+ },
386578
+ resultsMapping: {
386579
+ $ref: "#/definitions/resultsMapping"
386580
+ },
386581
+ javascript: {
386582
+ title: "FunctionResolverJavascript",
386583
+ type: "string"
386584
+ }
386585
+ },
386586
+ required: ["name"],
386587
+ additionalProperties: false
386588
+ },
386589
+ delegateResolver: {
386590
+ title: "DelegateResolver",
386591
+ type: "object",
386592
+ properties: {
386593
+ if: {
386594
+ type: "string"
386595
+ },
386596
+ id: {
386597
+ type: "string",
386598
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386599
+ },
386600
+ name: {
386601
+ title: "Delegate Resolver Name",
386602
+ type: "string",
386603
+ description: "Name of the resolver function.",
386604
+ enum: ["delegate"]
386605
+ },
386606
+ options: {
386607
+ title: "DelegateResolverOptions",
386608
+ type: "object",
386609
+ additionalProperties: true
386610
+ },
386611
+ argsMapping: {
386612
+ $ref: "#/definitions/argsMapping"
386613
+ },
386614
+ resultsMapping: {
386615
+ $ref: "#/definitions/resultsMapping"
386616
+ },
386617
+ to: {
386618
+ description: "A ref to a query/mutation/property to delegate to.",
386619
+ type: "string",
386620
+ minLength: 1
386621
+ },
386622
+ args: {
386623
+ description: "Mapping and serialization configuration for args.",
386624
+ $ref: "#/definitions/parameterConfigForJson"
386625
+ },
386626
+ results: {
386627
+ description: "Mapping configuration for the results of this resolver step.",
386628
+ $ref: "#/definitions/parameterConfigForJson"
386629
+ }
386630
+ },
386631
+ required: ["name", "to"],
386632
+ additionalProperties: false
386633
+ },
386634
+ salsifyResolver: {
386635
+ title: "SalsifyResolver",
386636
+ type: "object",
386637
+ properties: {
386638
+ if: {
386639
+ type: "string"
386640
+ },
386641
+ id: {
386642
+ type: "string",
386643
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386644
+ },
386645
+ name: {
386646
+ title: "Salsify Resolver Name",
386647
+ type: "string",
386648
+ description: "Name of the resolver function.",
386649
+ enum: ["salsify:listChannelProducts"]
386650
+ },
386651
+ service: {
386652
+ type: "string",
386653
+ description: "Configuration for a service to use with this resolver."
386654
+ },
386655
+ options: {
386656
+ title: "SalsifyResolverOptions",
386657
+ type: "object",
386658
+ additionalProperties: true
386659
+ },
386660
+ args: {
386661
+ description: "Mapping and serialization configuration for args.",
386662
+ $ref: "#/definitions/parameterConfigForJson"
386663
+ },
386664
+ results: {
386665
+ description: "Mapping configuration for the results of this resolver step.",
386666
+ $ref: "#/definitions/parameterConfigForJson"
386667
+ },
386668
+ argsMapping: {
386669
+ $ref: "#/definitions/argsMapping"
386670
+ },
386671
+ resultsMapping: {
386672
+ $ref: "#/definitions/resultsMapping"
386673
+ }
386674
+ },
386675
+ required: ["name", "service"],
386676
+ additionalProperties: false
386677
+ },
386678
+ syndigoResolver: {
386679
+ title: "SyndigoResolver",
386680
+ type: "object",
386681
+ properties: {
386682
+ if: {
386683
+ type: "string"
386684
+ },
386685
+ id: {
386686
+ type: "string",
386687
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386688
+ },
386689
+ name: {
386690
+ title: "Syndigo Resolver Name",
386691
+ type: "string",
386692
+ description: "Name of the resolver function.",
386693
+ enum: ["syndigo:searchProducts"]
386694
+ },
386695
+ service: {
386696
+ type: "string",
386697
+ description: "Configuration for a service to use with this resolver."
386698
+ },
386699
+ options: {
386700
+ title: "SyndigoResolverOptions",
386701
+ type: "object",
386702
+ additionalProperties: true
386703
+ },
386704
+ args: {
386705
+ description: "Mapping and serialization configuration for args.",
386706
+ $ref: "#/definitions/parameterConfigForJson"
386707
+ },
386708
+ results: {
386709
+ description: "Mapping configuration for the results of this resolver step.",
386710
+ $ref: "#/definitions/parameterConfigForJson"
386711
+ },
386712
+ argsMapping: {
386713
+ $ref: "#/definitions/argsMapping"
386714
+ },
386715
+ resultsMapping: {
386716
+ $ref: "#/definitions/resultsMapping"
386717
+ }
386718
+ },
386719
+ required: ["name", "service"],
386720
+ additionalProperties: false
386721
+ },
386722
+ shapedbResolver: {
386723
+ title: "ShapedbResolver",
386724
+ type: "object",
386725
+ properties: {
386726
+ if: {
386727
+ type: "string"
386728
+ },
386729
+ id: {
386730
+ type: "string",
386731
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386732
+ },
386733
+ name: {
386734
+ title: "ShapedbResolverName",
386735
+ type: "string",
386736
+ description: "Name of the resolver function.",
386737
+ enum: [
386738
+ "shapedb:get",
386739
+ "shapedb:create",
386740
+ "shapedb:update",
386741
+ "shapedb:delete",
386742
+ "shapedb:duplicate",
386743
+ "shapedb:find"
386744
+ ]
386745
+ },
386746
+ service: {
386747
+ type: "string",
386748
+ description: "Internal service identifier.",
386749
+ enum: ["shapedb"]
386750
+ },
386751
+ options: {
386752
+ title: "ShapedbResolverOptions",
386753
+ type: "object",
386754
+ additionalProperties: true
386755
+ },
386756
+ argsMapping: {
386757
+ $ref: "#/definitions/argsMapping"
386758
+ },
386759
+ resultsMapping: {
386760
+ $ref: "#/definitions/resultsMapping"
386761
+ },
386762
+ shapeName: {
386763
+ description: "A Shape name for the resolver to use.",
386764
+ type: "string",
386765
+ minLength: 1
386766
+ },
386767
+ args: {
386768
+ description: "Mapping and serialization configuration for args.",
386769
+ $ref: "#/definitions/parameterConfigForJson"
386770
+ },
386771
+ results: {
386772
+ description: "Mapping configuration for the results of this resolver step.",
386773
+ $ref: "#/definitions/parameterConfigForJson"
386774
+ }
386775
+ },
386776
+ required: ["name", "service", "shapeName"],
386777
+ additionalProperties: false
386778
+ },
386779
+ shapedbResolverShapeNameNotRequired: {
386780
+ title: "ShapedbResolverShapeNameNotRequired",
386781
+ type: "object",
386782
+ properties: {
386783
+ if: {
386784
+ type: "string"
386785
+ },
386786
+ id: {
386787
+ type: "string",
386788
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386789
+ },
386790
+ name: {
386791
+ title: "ShapedbResolverShapeNameNotRequiredName",
386792
+ type: "string",
386793
+ description: "Name of the resolver function.",
386794
+ enum: ["shapedb:list", "shapedb:taxonomySuggest", "shapedb:getRelated"]
386795
+ },
386796
+ service: {
386797
+ type: "string",
386798
+ description: "Internal service identifier.",
386799
+ enum: ["shapedb"]
386800
+ },
386801
+ options: {
386802
+ title: "ShapedbResolverShapeNameNotRequiredOptions",
386803
+ type: "object",
386804
+ additionalProperties: true
386805
+ },
386806
+ shapeName: {
386807
+ description: "An optional Shape name for the resolver.",
386808
+ type: "string",
386809
+ minLength: 1
386810
+ },
386811
+ args: {
386812
+ description: "Mapping and serialization configuration for args.",
386813
+ $ref: "#/definitions/parameterConfigForJson"
386814
+ },
386815
+ results: {
386816
+ description: "Mapping configuration for the results of this resolver step.",
386817
+ $ref: "#/definitions/parameterConfigForJson"
386818
+ },
386819
+ argsMapping: {
386820
+ $ref: "#/definitions/argsMapping"
386821
+ },
386822
+ resultsMapping: {
386823
+ $ref: "#/definitions/resultsMapping"
386824
+ }
386825
+ },
386826
+ required: ["name", "service"],
386827
+ additionalProperties: false
386828
+ },
386829
+ aiToolConfig: {
386830
+ title: "AIToolConfig",
386831
+ type: "object",
386832
+ properties: {
386833
+ ref: {
386834
+ type: "string"
386835
+ },
386836
+ selectionSet: {
386837
+ type: "string"
386838
+ }
386839
+ },
386840
+ required: ["ref"],
386841
+ additionalProperties: false
386842
+ },
386843
+ aiSimilarityGuardrail: {
386844
+ title: "AISimilarityGuardrail",
386845
+ type: "object",
386846
+ properties: {
386847
+ name: {
386848
+ enum: ["similarity"]
386849
+ },
386850
+ shape: {
386851
+ type: "string"
386852
+ },
386853
+ defaultResponse: {
386854
+ type: "string"
386855
+ },
386856
+ threshold: {
386857
+ type: "number"
386858
+ }
386859
+ },
386860
+ required: ["name", "shape", "defaultResponse"],
386861
+ additionalProperties: false
386862
+ },
386863
+ aiGuardrail: {
386864
+ title: "AIGuardrail",
386865
+ discriminator: {
386866
+ propertyName: "name"
386867
+ },
386868
+ oneOf: [
386869
+ {
386870
+ $ref: "#/definitions/aiSimilarityGuardrail"
386871
+ }
386872
+ ]
386873
+ },
386874
+ aiGenerateTextResolverOptions: {
386875
+ title: "AIGenerateTextResolverOptions",
386876
+ type: "object",
386877
+ properties: {
386878
+ history: {
386879
+ title: "history",
386880
+ type: "boolean"
386881
+ },
386882
+ maxTokens: {
386883
+ type: "integer",
386884
+ title: "Maximum Tokens",
386885
+ description: "Maximum number of tokens to generate."
386886
+ },
386887
+ temperature: {
386888
+ type: "number",
386889
+ title: "Temperature",
386890
+ description: "This is a number between 0 (almost no randomness) and 1 (very random). It is recommended to set either `temperature` or `topP`, but not both. Defaults to 0",
386891
+ minimum: 0,
386892
+ maximum: 1
386893
+ },
386894
+ topP: {
386895
+ type: "number",
386896
+ title: "Top P",
386897
+ description: "Nucleus sampling. This is a number between 0 and 1. E.g. 0.1 would mean that only tokens with the top 10% probability mass are considered. It is recommended to set either `temperature` or `topP`, but not both.",
386898
+ minimum: 0,
386899
+ maximum: 1
386900
+ },
386901
+ topK: {
386902
+ type: "number",
386903
+ title: "Top K",
386904
+ description: 'Only sample from the top K options for each subsequent token. Used to remove "long tail" low probability responses. Recommended for advanced use cases only. You usually only need to use temperature.'
386905
+ },
386906
+ presencePenalty: {
386907
+ type: "number",
386908
+ title: "Presence penalty setting",
386909
+ description: "It affects the likelihood of the model to repeat information that is already in the prompt. The presence penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.",
386910
+ minimum: -1,
386911
+ maximum: 1
386912
+ },
386913
+ frequencyPenalty: {
386914
+ type: "number",
386915
+ title: "Frequency penalty setting",
386916
+ description: "It affects the likelihood of the model to repeatedly use the same words or phrases. The frequency penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.",
386917
+ minimum: -1,
386918
+ maximum: 1
386919
+ },
386920
+ stopSequences: {
386921
+ title: "Stop sequences",
386922
+ description: "If set, the model will stop generating text when one of the stop sequences is generated.",
386923
+ type: "array",
386924
+ items: {
386925
+ type: "string"
386926
+ }
386927
+ },
386928
+ seed: {
386929
+ type: "integer",
386930
+ title: "Seed",
386931
+ description: " The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results."
386932
+ },
386933
+ maxRetries: {
386934
+ type: "integer",
386935
+ description: "Maximum number of retries. Set to 0 to disable retries. Defaults to 2"
386936
+ },
386937
+ toolChoice: {
386938
+ type: "string",
386939
+ description: "The tool choice strategy. Default: 'auto'",
386940
+ anyOf: [
386941
+ {
386942
+ enum: ["auto", "none", "required"]
386943
+ },
386944
+ {
386945
+ type: "string"
386946
+ }
386947
+ ]
386948
+ },
386949
+ maxToolRoundtrips: {
386950
+ type: "integer",
386951
+ description: "Maximal number of automatic roundtrips for tool calls."
386952
+ }
386953
+ }
386954
+ },
386955
+ aiGenerateTextResolver: {
386956
+ title: "AIGenerateTextResolver",
386957
+ type: "object",
386958
+ properties: {
386959
+ if: {
386960
+ type: "string"
386961
+ },
386962
+ id: {
386963
+ type: "string",
386964
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
386965
+ },
386966
+ name: {
386967
+ title: "AI Resolver Name",
386968
+ type: "string",
386969
+ description: "Name of the resolver function.",
386970
+ enum: ["ai:generateText", "ai:chat"]
386971
+ },
386972
+ service: {
386973
+ type: "string",
386974
+ description: "Configuration for a service to use with this resolver."
386975
+ },
386976
+ options: {
386977
+ $ref: "#/definitions/aiGenerateTextResolverOptions"
386978
+ },
386979
+ systemPrompt: {
386980
+ type: "string"
386981
+ },
386982
+ inputTemplate: {
386983
+ type: "string"
386984
+ },
386985
+ model: {
386986
+ type: "string"
386987
+ },
386988
+ tools: {
386989
+ type: "array",
386990
+ items: {
386991
+ oneOf: [
386992
+ {
386993
+ type: "string"
386994
+ },
386995
+ {
386996
+ $ref: "#/definitions/aiToolConfig"
386997
+ }
386998
+ ]
386999
+ }
387000
+ },
387001
+ guardrails: {
387002
+ type: "array",
387003
+ items: {
387004
+ $ref: "#/definitions/aiGuardrail"
387005
+ }
387006
+ },
387007
+ context: {
387008
+ description: "Mapping and serialization configuration for prompt context.",
387009
+ $ref: "#/definitions/parameterConfigForJson"
387010
+ },
387011
+ results: {
387012
+ description: "Mapping configuration for the results of this resolver step.",
387013
+ $ref: "#/definitions/parameterConfigForJson"
387014
+ }
387015
+ },
387016
+ required: ["name", "service", "model", "systemPrompt"],
387017
+ additionalProperties: false
387018
+ },
387019
+ aiGeneratePropertyResolver: {
387020
+ title: "AIGeneratePropertyResolver",
387021
+ type: "object",
387022
+ properties: {
387023
+ id: {
387024
+ type: "string",
387025
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387026
+ },
387027
+ name: {
387028
+ title: "AI Resolver Name",
387029
+ type: "string",
387030
+ description: "Name of the resolver function.",
387031
+ enum: ["ai:generateProperty"]
387032
+ },
387033
+ service: {
387034
+ type: "string",
387035
+ description: "Configuration for a service to use with this resolver."
387036
+ },
387037
+ model: {
387038
+ type: "string"
387039
+ },
387040
+ systemPrompt: {
387041
+ type: "string"
387042
+ }
387043
+ },
387044
+ required: ["name", "service", "model"],
387045
+ additionalProperties: false
387046
+ },
387047
+ aiEmbeddingResolverOptions: {
387048
+ title: "AIEmbeddingResolverOptions",
387049
+ type: "object",
387050
+ properties: {
387051
+ useDependencies: {
387052
+ type: "boolean"
387053
+ }
387054
+ }
387055
+ },
387056
+ aiEmbeddingResolver: {
387057
+ title: "AIEmbeddingResolver",
387058
+ type: "object",
387059
+ properties: {
387060
+ if: {
387061
+ type: "string"
387062
+ },
387063
+ id: {
387064
+ type: "string",
387065
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387066
+ },
387067
+ name: {
387068
+ title: "AI Resolver Name",
387069
+ type: "string",
387070
+ description: "Name of the resolver function.",
387071
+ enum: ["ai:createEmbedding"]
387072
+ },
387073
+ service: {
387074
+ type: "string",
387075
+ description: "Configuration for a service to use with this resolver."
387076
+ },
387077
+ options: {
387078
+ $ref: "#/definitions/aiEmbeddingResolverOptions"
387079
+ },
387080
+ model: {
387081
+ type: "string"
387082
+ },
387083
+ args: {
387084
+ description: "Mapping and serialization configuration for prompt context.",
387085
+ $ref: "#/definitions/parameterConfigForJson"
387086
+ },
387087
+ results: {
387088
+ description: "Mapping configuration for the results of this resolver step.",
387089
+ $ref: "#/definitions/parameterConfigForJson"
387090
+ }
387091
+ },
387092
+ required: ["name", "service", "model"],
387093
+ additionalProperties: false
387094
+ },
387095
+ aiEmbeddingSearchResolver: {
387096
+ title: "AIEmbeddingSearchResolver",
387097
+ type: "object",
387098
+ properties: {
387099
+ if: {
387100
+ type: "string"
387101
+ },
387102
+ id: {
387103
+ type: "string",
387104
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387105
+ },
387106
+ name: {
387107
+ title: "AI Resolver Name",
387108
+ type: "string",
387109
+ description: "Name of the resolver function.",
387110
+ enum: ["ai:embeddingSearch"]
387111
+ },
387112
+ vectorProperty: {
387113
+ type: "string",
387114
+ description: "A vector property ref to use for the query."
387115
+ },
387116
+ args: {
387117
+ description: "Mapping and serialization configuration for prompt context.",
387118
+ $ref: "#/definitions/parameterConfigForJson"
387119
+ },
387120
+ results: {
387121
+ description: "Mapping configuration for the results of this resolver step.",
387122
+ $ref: "#/definitions/parameterConfigForJson"
387123
+ }
387124
+ },
387125
+ required: ["name", "vectorProperty"],
387126
+ additionalProperties: false
387127
+ },
387128
+ aiParseFileResolverOptions: {
387129
+ title: "AIParseFileResolverOptions",
387130
+ type: "object"
387131
+ },
387132
+ aiParseFileResolver: {
387133
+ title: "AIParseFileResolver",
387134
+ type: "object",
387135
+ properties: {
387136
+ if: {
387137
+ type: "string"
387138
+ },
387139
+ id: {
387140
+ type: "string",
387141
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387142
+ },
387143
+ name: {
387144
+ title: "AI Resolver Name",
387145
+ type: "string",
387146
+ description: "Name of the resolver function.",
387147
+ enum: ["ai:parseFile"]
387148
+ },
387149
+ service: {
387150
+ type: "string",
387151
+ description: "Configuration for a service to use with this resolver."
387152
+ },
387153
+ options: {
387154
+ $ref: "#/definitions/aiEmbeddingResolverOptions"
387155
+ },
387156
+ args: {
387157
+ description: "Mapping and serialization configuration for prompt context.",
387158
+ $ref: "#/definitions/parameterConfigForJson"
387159
+ },
387160
+ results: {
387161
+ description: "Mapping configuration for the results of this resolver step.",
387162
+ $ref: "#/definitions/parameterConfigForJson"
387163
+ }
387164
+ },
387165
+ required: ["name", "service"],
387166
+ additionalProperties: false
387167
+ },
387168
+ takeshapeResolver: {
387169
+ title: "TakeshapeResolver",
387170
+ type: "object",
387171
+ properties: {
387172
+ if: {
387173
+ type: "string"
387174
+ },
387175
+ id: {
387176
+ type: "string",
387177
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387178
+ },
387179
+ name: {
387180
+ title: "TakeshapeResolverName",
387181
+ type: "string",
387182
+ description: "Name of the resolver function.",
387183
+ enum: [
387184
+ "takeshape:get",
387185
+ "takeshape:getUser",
387186
+ "takeshape:search",
387187
+ "takeshape:vectorSearch",
387188
+ "takeshape:queryApiIndex",
387189
+ "takeshape:assetUrl",
387190
+ "takeshape:assetImage",
387191
+ "takeshape:assetImageMeta"
387192
+ ]
387193
+ },
387194
+ service: {
387195
+ type: "string",
387196
+ description: "Internal service identifier.",
387197
+ enum: ["takeshape"]
387198
+ },
387199
+ options: {
387200
+ title: "TakeshapeResolverOptions",
387201
+ type: "object",
387202
+ additionalProperties: true
387203
+ },
387204
+ shapeName: {
387205
+ description: "An optional Shape name for the resolver.",
387206
+ type: "string",
387207
+ minLength: 1
387208
+ },
387209
+ args: {
387210
+ description: "Mapping and serialization configuration for args.",
387211
+ $ref: "#/definitions/parameterConfigForJson"
387212
+ },
387213
+ results: {
387214
+ description: "Mapping configuration for the results of this resolver step.",
387215
+ $ref: "#/definitions/parameterConfigForJson"
387216
+ },
387217
+ argsMapping: {
387218
+ $ref: "#/definitions/argsMapping"
387219
+ },
387220
+ resultsMapping: {
387221
+ $ref: "#/definitions/resultsMapping"
387222
+ }
387223
+ },
387224
+ required: ["name", "service"],
387225
+ additionalProperties: false
387226
+ },
387227
+ graphqlResolver: {
387228
+ title: "GraphqlResolver",
387229
+ type: "object",
387230
+ properties: {
387231
+ if: {
387232
+ type: "string"
387233
+ },
387234
+ id: {
387235
+ type: "string",
387236
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387237
+ },
387238
+ name: {
387239
+ title: "GraphqlResolverName",
387240
+ type: "string",
387241
+ description: "Name of the resolver function.",
387242
+ enum: ["graphql:query", "graphql:mutation", "shopify:bulkQuery"]
387243
+ },
387244
+ service: {
387245
+ type: "string",
387246
+ description: "Configuration for a service to use with this resolver."
387247
+ },
387248
+ argsMapping: {
387249
+ $ref: "#/definitions/argsMapping"
387250
+ },
387251
+ resultsMapping: {
387252
+ $ref: "#/definitions/resultsMapping"
387253
+ },
387254
+ options: {
387255
+ title: "GraphqlResolverOptions",
387256
+ type: "object",
387257
+ properties: {
387258
+ selectionSet: {
387259
+ type: "string"
387260
+ },
387261
+ unboxParentSelectionSet: {
387262
+ type: "boolean"
387263
+ },
387264
+ ignoreErrors: {
387265
+ type: "boolean"
387266
+ },
387267
+ skipWhenMissingArgs: {
387268
+ type: "boolean"
387269
+ },
387270
+ ttl: {
387271
+ type: "number"
387272
+ },
387273
+ timeout: {
387274
+ type: "number"
387275
+ },
387276
+ allowStream: {
387277
+ type: "boolean"
387278
+ },
387279
+ retry: {
387280
+ oneOf: [
387281
+ {
387282
+ type: "number"
387283
+ },
387284
+ {
387285
+ type: "object"
387286
+ }
387287
+ ]
387288
+ }
387289
+ },
387290
+ additionalProperties: true
387291
+ },
387292
+ fieldName: {
387293
+ description: "A fieldname to use in queries.",
387294
+ type: "string"
387295
+ },
387296
+ headers: {
387297
+ description: "Mapping and serialization configuration for headers.",
387298
+ $ref: "#/definitions/parameterConfigForHeaders"
387299
+ },
387300
+ searchParams: {
387301
+ description: "Mapping and serialization configuration for searchParams.",
387302
+ $ref: "#/definitions/parameterConfigForSearchParams"
387303
+ },
387304
+ args: {
387305
+ description: "Mapping and serialization configuration for args.",
387306
+ $ref: "#/definitions/parameterConfigForJson"
387307
+ },
387308
+ results: {
387309
+ description: "Mapping configuration for the results of this resolver step.",
387310
+ $ref: "#/definitions/parameterConfigForJson"
387311
+ }
387312
+ },
387313
+ required: ["name", "service", "fieldName"],
387314
+ additionalProperties: false
387315
+ },
387316
+ restResolver: {
387317
+ title: "RestResolver",
387318
+ type: "object",
387319
+ properties: {
387320
+ if: {
387321
+ type: "string"
387322
+ },
387323
+ id: {
387324
+ type: "string",
387325
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387326
+ },
387327
+ name: {
387328
+ title: "RestResolverName",
387329
+ type: "string",
387330
+ description: "Name of the resolver function.",
387331
+ enum: ["rest:get", "rest:head", "rest:post", "rest:put", "rest:patch", "rest:delete"]
387332
+ },
387333
+ service: {
387334
+ type: "string",
387335
+ description: "Configuration for a service to use with this resolver."
387336
+ },
387337
+ argsMapping: {
387338
+ $ref: "#/definitions/argsMapping"
387339
+ },
387340
+ searchParamsMapping: {
387341
+ $ref: "#/definitions/searchParamsMapping"
387342
+ },
387343
+ resultsMapping: {
387344
+ $ref: "#/definitions/resultsMapping"
387345
+ },
387346
+ options: {
387347
+ title: "RestResolverOptions",
387348
+ type: "object",
387349
+ properties: {
387350
+ trailingSlash: {
387351
+ type: "boolean"
387352
+ },
387353
+ allowStream: {
387354
+ type: "boolean"
387355
+ },
387356
+ ttl: {
387357
+ type: "number"
387358
+ },
387359
+ timeout: {
387360
+ type: "number"
387361
+ },
387362
+ retry: {
387363
+ oneOf: [
387364
+ {
387365
+ type: "number"
387366
+ },
387367
+ {
387368
+ type: "object"
387369
+ }
387370
+ ]
387371
+ }
387372
+ },
387373
+ additionalProperties: true
387374
+ },
387375
+ body: {
387376
+ description: "Mapping and serialization configuration for a request body.",
387377
+ $ref: "#/definitions/parameterConfigForBody"
387378
+ },
387379
+ form: {
387380
+ description: "Mapping and serialization configuration for form data.",
387381
+ $ref: "#/definitions/parameterConfigForSearchParams"
387382
+ },
387383
+ headers: {
387384
+ description: "Mapping and serialization configuration for headers.",
387385
+ $ref: "#/definitions/parameterConfigForHeaders"
387386
+ },
387387
+ json: {
387388
+ description: "Mapping and serialization configuration for a json request body.",
387389
+ $ref: "#/definitions/parameterConfigForJson"
387390
+ },
387391
+ path: {
387392
+ description: "Mapping and serialization configuration for the path, or a simple string.",
387393
+ oneOf: [
387394
+ {
387395
+ $ref: "#/definitions/parameterConfigForPathParams"
387396
+ },
387397
+ {
387398
+ type: "string"
387399
+ }
387400
+ ]
387401
+ },
387402
+ searchParams: {
387403
+ description: "Mapping and serialization configuration for searchParams.",
387404
+ $ref: "#/definitions/parameterConfigForSearchParams"
387405
+ },
387406
+ args: {
387407
+ description: "Mapping and serialization configuration for args.",
387408
+ $ref: "#/definitions/parameterConfigForJson"
387409
+ },
387410
+ results: {
387411
+ description: "Mapping configuration for the results of this resolver step.",
387412
+ $ref: "#/definitions/parameterConfigForJson"
387413
+ }
387414
+ },
387415
+ required: ["name", "service", "path"],
387416
+ additionalProperties: false
387417
+ },
387418
+ awsLambdaResolver: {
387419
+ title: "AwsLambdaResolver",
387420
+ type: "object",
387421
+ properties: {
387422
+ if: {
387423
+ type: "string"
387424
+ },
387425
+ id: {
387426
+ type: "string",
387427
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
387428
+ },
387429
+ name: {
387430
+ title: "AwsLambdaResolverName",
387431
+ type: "string",
387432
+ description: "Name of the resolver function.",
387433
+ enum: ["awsLambda:invoke"]
387434
+ },
387435
+ service: {
387436
+ type: "string",
387437
+ description: "Configuration for a service to use with this resolver."
387438
+ },
387439
+ options: {
387440
+ title: "AwsLambdaResolverOptions",
387441
+ type: "object",
387442
+ additionalProperties: true
387443
+ },
387444
+ payload: {
387445
+ description: "Mapping configuration the Payload.",
387446
+ $ref: "#/definitions/parameterConfigForJson"
387447
+ },
387448
+ functionName: {
387449
+ description: "Mapping configuration for the FunctionName.",
387450
+ oneOf: [
387451
+ {
387452
+ type: "string"
387453
+ },
387454
+ {
387455
+ $ref: "#/definitions/parameterConfigForAwsLambda"
387456
+ }
387457
+ ]
387458
+ },
387459
+ clientContext: {
387460
+ description: "Mapping configuration for the ClientContext.",
387461
+ $ref: "#/definitions/parameterConfigForJson"
387462
+ },
387463
+ args: {
387464
+ description: "Mapping and serialization configuration for args.",
387465
+ $ref: "#/definitions/parameterConfigForJson"
387466
+ },
387467
+ results: {
387468
+ description: "Mapping configuration for the results of this resolver step.",
387469
+ $ref: "#/definitions/parameterConfigForJson"
387470
+ },
387471
+ argsMapping: {
387472
+ $ref: "#/definitions/argsMapping"
387473
+ },
387474
+ searchParamsMapping: {
387475
+ description: "Set or evaluate directives to generate searchParams for the service endpoint.",
387476
+ $ref: "#/definitions/searchParamsMapping"
387477
+ },
387478
+ resultsMapping: {
387479
+ $ref: "#/definitions/resultsMapping"
387480
+ }
387481
+ },
387482
+ required: ["name", "service", "functionName"],
387483
+ additionalProperties: false
387484
+ },
387485
+ composeResolver: {
387486
+ title: "ComposeResolver",
387487
+ type: "object",
387488
+ properties: {
387489
+ compose: {
387490
+ type: "array",
387491
+ items: {
387492
+ $ref: "#/definitions/basicResolver"
387493
+ }
387494
+ },
387495
+ resultsMapping: {
387496
+ oneOf: [
387497
+ {
387498
+ $ref: "#/definitions/directiveMappingMap"
387499
+ },
387500
+ {
387501
+ $ref: "#/definitions/directiveConfig"
387502
+ }
387503
+ ]
387504
+ },
387505
+ results: {
387506
+ description: "Mapping configuration for final query results.",
387507
+ $ref: "#/definitions/parameterConfigForJson"
387508
+ }
387509
+ },
387510
+ required: ["compose"],
387511
+ additionalProperties: false
387512
+ },
387513
+ resolver: {
387514
+ title: "Resolver",
387515
+ oneOf: [
387516
+ {
387517
+ $ref: "#/definitions/basicResolver"
387518
+ },
387519
+ {
387520
+ $ref: "#/definitions/composeResolver"
387521
+ }
387522
+ ]
387523
+ },
387524
+ dependencies: {
387525
+ title: "Dependencies",
387526
+ type: "string"
387527
+ },
387528
+ ref: {
387529
+ title: "Ref",
387530
+ type: "string"
387531
+ },
387532
+ indexed: {
387533
+ title: "Indexed",
387534
+ type: "object",
387535
+ properties: {
387536
+ nested: {
387537
+ type: "boolean"
387538
+ }
387539
+ },
387540
+ additionalProperties: false
387541
+ },
387542
+ graphql: {
387543
+ title: "GraphQLConfig",
387544
+ type: "object",
387545
+ properties: {
387546
+ json: {
387547
+ type: "boolean"
387548
+ }
387549
+ },
387550
+ additionalProperties: false
387551
+ },
387552
+ query: {
387553
+ title: "Query JSON",
387554
+ type: "object",
387555
+ properties: {
387556
+ args: {
387557
+ description: "The args field specifies the name of a Shape for the input arguments required by your resolver.",
387558
+ $ref: "#/definitions/args"
387559
+ },
387560
+ resolver: {
387561
+ description: "Configures the resolver for your query or mutation.",
387562
+ $ref: "#/definitions/resolver"
387563
+ },
387564
+ shape: {
387565
+ $ref: "#/definitions/returnShape",
387566
+ description: `Specifies which shape is returned by the query or mutation. The shape can refer to a shape in the schema's "shapes" object or a shape that's available on a service schema.`
387567
+ },
387568
+ description: {
387569
+ type: "string",
387570
+ description: "Provides more detail about what the query or mutation is for. This will be displayed in the automatically-generated GraphQL API docs."
387571
+ }
387572
+ },
387573
+ required: ["resolver", "shape"],
387574
+ additionalProperties: false
387575
+ },
387576
+ propertySchema: {
387577
+ title: "PropertySchema",
387578
+ type: "object",
387579
+ properties: {
387580
+ $ref: {
387581
+ type: "string",
387582
+ format: "uri-reference"
387583
+ },
387584
+ title: {
387585
+ type: "string"
387586
+ },
387587
+ description: {
387588
+ type: "string"
387589
+ },
387590
+ default: {},
387591
+ readOnly: {
387592
+ type: "boolean",
387593
+ default: false
387594
+ },
387595
+ multipleOf: {
387596
+ type: "number",
387597
+ exclusiveMinimum: 0
387598
+ },
387599
+ maximum: {
387600
+ type: "number"
387601
+ },
387602
+ exclusiveMaximum: {
387603
+ type: "number"
387604
+ },
387605
+ minimum: {
387606
+ type: "number"
387607
+ },
387608
+ exclusiveMinimum: {
387609
+ type: "number"
387610
+ },
387611
+ maxLength: {
387612
+ $ref: "#/definitions/nonNegativeInteger"
387613
+ },
387614
+ minLength: {
387615
+ $ref: "#/definitions/nonNegativeIntegerDefault0"
387616
+ },
387617
+ pattern: {
387618
+ type: "string",
387619
+ format: "regex"
387620
+ },
387621
+ additionalItems: {
387622
+ $ref: "#/definitions/propertySchema"
387623
+ },
387624
+ items: {
387625
+ $ref: "#/definitions/propertySchema"
387626
+ },
387627
+ maxItems: {
387628
+ $ref: "#/definitions/nonNegativeInteger"
387629
+ },
387630
+ minItems: {
387631
+ $ref: "#/definitions/nonNegativeIntegerDefault0"
387632
+ },
387633
+ uniqueItems: {
387634
+ type: "boolean",
387635
+ default: false
387636
+ },
387637
+ contains: {
387638
+ $ref: "#/definitions/propertySchema"
387639
+ },
387640
+ maxProperties: {
387641
+ $ref: "#/definitions/nonNegativeInteger"
387642
+ },
387643
+ minProperties: {
387644
+ $ref: "#/definitions/nonNegativeIntegerDefault0"
387645
+ },
387646
+ required: {
387647
+ $ref: "#/definitions/stringArray"
387648
+ },
387649
+ additionalProperties: {
387650
+ oneOf: [
387651
+ {
387652
+ $ref: "#/definitions/propertySchema"
387653
+ },
387654
+ {
387655
+ enum: [false]
387656
+ }
387657
+ ]
387658
+ },
387659
+ definitions: {
387660
+ type: "object",
387661
+ additionalProperties: {
387662
+ $ref: "#/definitions/propertySchema"
387663
+ },
387664
+ default: {}
387665
+ },
387666
+ properties: {
387667
+ type: "object",
387668
+ additionalProperties: {
387669
+ $ref: "#/definitions/propertySchema"
387670
+ },
387671
+ default: {}
387672
+ },
387673
+ const: {},
387674
+ enum: {
387675
+ type: "array",
387676
+ minItems: 1,
387677
+ uniqueItems: true
387678
+ },
387679
+ type: {
387680
+ anyOf: [
387681
+ {
387682
+ $ref: "#/definitions/simpleTypes"
387683
+ },
387684
+ {
387685
+ type: "array",
387686
+ items: {
387687
+ $ref: "#/definitions/simpleTypes"
387688
+ },
387689
+ minItems: 1,
387690
+ uniqueItems: true
387691
+ }
387692
+ ]
387693
+ },
387694
+ format: {
387695
+ type: "string"
387696
+ },
387697
+ contentMediaType: {
387698
+ type: "string"
387699
+ },
387700
+ contentEncoding: {
387701
+ type: "string"
387702
+ },
387703
+ allOf: {
387704
+ $ref: "#/definitions/schemaArray"
387705
+ },
387706
+ discriminator: {
387707
+ type: "object",
387708
+ properties: {
387709
+ propertyName: {
387710
+ type: "string"
387711
+ }
387712
+ }
387713
+ },
387714
+ oneOf: {
387715
+ $ref: "#/definitions/schemaArray"
387716
+ },
387717
+ extends: {
387718
+ $ref: "#/definitions/objectOrRefArray"
387719
+ },
387720
+ "@backreference": {
387721
+ $ref: "#/definitions/backreference"
387722
+ },
387723
+ "@input": {
387724
+ description: "A PropertySchema providing an alternative shape for a GraphQL input type.",
387725
+ $ref: "#/definitions/propertySchema"
387726
+ },
387727
+ "@output": {
387728
+ description: "A PropertySchema which is original output.",
387729
+ $ref: "#/definitions/propertySchema"
387730
+ },
387731
+ "@syncLocaleStructure": {
387732
+ type: "boolean"
387733
+ },
387734
+ "@sensitive": {
387735
+ type: "boolean"
387736
+ },
387737
+ "@draftjs": {
387738
+ type: "boolean"
387739
+ },
387740
+ "@l10n": {
387741
+ type: "boolean"
387742
+ },
387743
+ "@key": {
387744
+ type: "string",
387745
+ pattern: "^[-_a-zA-Z0-9]+$"
387746
+ },
387747
+ "@workflow": {
387748
+ type: "string"
387749
+ },
387750
+ "@mapping": {
387751
+ $ref: "#/definitions/fieldMapping"
387752
+ },
387753
+ "@tag": {
387754
+ type: "string"
387755
+ },
387756
+ "@tags": {
387757
+ type: "array",
387758
+ items: {
387759
+ type: "string"
387760
+ }
387761
+ },
387762
+ "@deprecationReason": {
387763
+ type: "string"
387764
+ },
387765
+ "@args": {
387766
+ $ref: "#/definitions/args"
387767
+ },
387768
+ "@resolver": {
387769
+ $ref: "#/definitions/resolver"
387770
+ },
387771
+ "@dependencies": {
387772
+ $ref: "#/definitions/dependencies"
387773
+ },
387774
+ "@ref": {
387775
+ $ref: "#/definitions/ref"
387776
+ },
387777
+ "@derivedFrom": {
387778
+ type: "string"
387779
+ },
387780
+ "@indexed": {
387781
+ $ref: "#/definitions/indexed"
387782
+ },
387783
+ "@graphql": {
387784
+ $ref: "#/definitions/graphql"
387785
+ }
387786
+ },
387787
+ additionalProperties: false
387788
+ },
387789
+ shape: {
387790
+ title: "Shape JSON",
387791
+ description: "A Shape is a schema object for structuring and storing data from one or more sources, including the TakeShape data store and connected services",
387792
+ type: "object",
387793
+ properties: {
387794
+ name: {
387795
+ type: "string",
387796
+ pattern: "^[_a-zA-Z][_a-zA-Z0-9]*$",
387797
+ description: "The Pascal-cased human-readable id for a Shape. This value should match the shape's key in the shapes object. This value is used in @ref and @mapping annotations"
387798
+ },
387799
+ id: {
387800
+ type: "string",
387801
+ pattern: "[0-9A-Za-z_-]+",
387802
+ description: `The machine-readable id for a Shape which should never change. When using TakeShape's built-in database to store Shape data, this value is used database as a stable "table name" and changing it will result in orphaning that data.`
387803
+ },
387804
+ title: {
387805
+ type: "string",
387806
+ description: "The human-readable name for a Shape for use in a UI."
387807
+ },
387808
+ description: {
387809
+ type: "string"
387810
+ },
387811
+ type: {
387812
+ enum: ["interface", "input", "output"]
387813
+ },
387814
+ interfaces: {
387815
+ type: "array",
387816
+ items: {
387817
+ type: "string"
387818
+ }
387819
+ },
387820
+ model: {
387821
+ description: "Specifying a model type allows Shape data to be stored in TakeShape's built-in database",
387822
+ type: "object",
387823
+ properties: {
387824
+ type: {
387825
+ title: "Model Type",
387826
+ type: "string",
387827
+ enum: ["single", "multiple", "taxonomy"]
387828
+ }
387829
+ },
387830
+ required: ["type"],
387831
+ additionalProperties: false
387832
+ },
387833
+ workflow: {
387834
+ type: "string"
387835
+ },
387836
+ loaders: {
387837
+ $ref: "#/definitions/shapeLoaders"
387838
+ },
387839
+ joins: {
387840
+ $ref: "#/definitions/shapeJoins"
387841
+ },
387842
+ cache: {
387843
+ $ref: "#/definitions/shapeCacheConfig"
387844
+ },
387845
+ schema: {
387846
+ $ref: "#/definitions/shapeSchema"
387847
+ }
387848
+ },
387849
+ required: ["name", "title", "id", "schema"],
387850
+ additionalProperties: false
387851
+ },
387852
+ shapeWithObjectSchema: {
387853
+ title: "Shape With Object Schema",
387854
+ type: "object",
387855
+ allOf: [
387856
+ {
387857
+ $ref: "#/definitions/shape"
387858
+ },
387859
+ {
387860
+ type: "object",
387861
+ properties: {
387862
+ schema: {
387863
+ $ref: "#/definitions/objectSchema"
387864
+ }
387865
+ },
387866
+ required: ["schema"],
387867
+ additionalProperties: false
387868
+ }
387869
+ ]
387870
+ },
387871
+ shapeMap: {
387872
+ title: "Shape Map",
387873
+ type: "object",
387874
+ patternProperties: {
387875
+ "^[0-9A-Za-z_]+$": {
387876
+ $ref: "#/definitions/shape"
387877
+ }
387878
+ },
387879
+ additionalProperties: false
387880
+ },
387881
+ formMap: {
387882
+ title: "Form Map",
387883
+ type: "object",
387884
+ patternProperties: {
387885
+ "[0-9A-Za-z_-]+": {
387886
+ $ref: "#/definitions/formsConfig"
387887
+ }
387888
+ }
387889
+ },
387890
+ shapeCacheConfig: {
387891
+ title: "ShapeCacheConfig",
387892
+ type: "object",
387893
+ properties: {
387894
+ enabled: {
387895
+ type: "boolean"
387896
+ },
387897
+ idField: {
387898
+ type: "string"
387899
+ },
387900
+ searchSummaryField: {
387901
+ type: "string"
387902
+ },
387903
+ fragment: {
387904
+ $ref: "#/definitions/cachedFragmentConfig"
387905
+ },
387906
+ triggers: {
387907
+ type: "array",
387908
+ items: {
387909
+ $ref: "#/definitions/cacheTriggerConfig"
387910
+ }
387911
+ },
387912
+ maxAge: {
387913
+ description: "Number of seconds this Shape should be cached. Default 0.",
387914
+ type: "number",
387915
+ minimum: 0
387916
+ },
387917
+ staleWhileRevalidate: {
387918
+ description: "Requests after maxAge will send a request to origin to revalidate while serving stale content for this duration in the meantime.",
387919
+ type: "number",
387920
+ minimum: 0
387921
+ }
387922
+ },
387923
+ additionalProperties: false,
387924
+ required: ["enabled"]
387925
+ },
387926
+ shapeJoin: {
387927
+ title: "ShapeJoin",
387928
+ type: "object",
387929
+ properties: {
387930
+ resolver: {
387931
+ oneOf: [
387932
+ {
387933
+ $ref: "#/definitions/delegateResolver"
387934
+ },
387935
+ {
387936
+ $ref: "#/definitions/shapedbResolver"
387937
+ }
387938
+ ]
387939
+ },
387940
+ dependencies: {
387941
+ type: "string"
387942
+ }
387943
+ },
387944
+ required: ["resolver"],
387945
+ additionalProperties: false
387946
+ },
387947
+ shapeJoins: {
387948
+ title: "ShapeJoins",
387949
+ type: "object",
387950
+ patternProperties: {
387951
+ "[:0-9A-Za-z_-]+": {
387952
+ $ref: "#/definitions/shapeJoin"
387953
+ }
387954
+ }
387955
+ },
387956
+ shapeLoaders: {
387957
+ title: "ShapeLoaders",
387958
+ type: "object",
387959
+ properties: {
387960
+ list: {
387961
+ oneOf: [
387962
+ {
387963
+ $ref: "#/definitions/storedListQueryLoaderConfig"
387964
+ },
387965
+ {
387966
+ type: "array",
387967
+ items: {
387968
+ $ref: "#/definitions/storedListQueryLoaderConfig"
387969
+ }
387970
+ }
387971
+ ]
387972
+ },
387973
+ get: {
387974
+ $ref: "#/definitions/getQueryLoaderConfig"
387975
+ }
387976
+ },
387977
+ additionalProperties: false,
387978
+ required: ["list"]
387979
+ },
387980
+ cachedFragmentConfig: {
387981
+ title: "Cached Fragment Config",
387982
+ type: "object",
387983
+ properties: {
387984
+ ignoreFields: {
387985
+ type: "array",
387986
+ items: {
387987
+ type: "string"
387988
+ }
387989
+ },
387990
+ maxDepth: {
387991
+ type: "number"
387992
+ },
387993
+ selectionSet: {
387994
+ type: "string"
387995
+ },
387996
+ includeDeprecated: {
387997
+ type: "boolean"
387998
+ }
387999
+ },
388000
+ additionalProperties: false
388001
+ },
388002
+ listQueryLoaderConfig: {
388003
+ title: "ListQueryLoaderConfig",
388004
+ type: "object",
388005
+ properties: {
388006
+ query: {
388007
+ type: "string"
388008
+ },
388009
+ args: {
388010
+ type: "object",
388011
+ additionalProperties: true
388012
+ },
388013
+ pagination: {
388014
+ $ref: "#/definitions/paginationConfig"
388015
+ }
388016
+ },
388017
+ additionalProperties: false,
388018
+ required: ["query"]
388019
+ },
388020
+ storedListQueryLoaderConfig: {
388021
+ title: "StoredListQueryLoaderConfig",
388022
+ type: "object",
388023
+ properties: {
388024
+ query: {
388025
+ type: "string"
388026
+ },
388027
+ args: {
388028
+ oneOf: [
388029
+ {
388030
+ type: "object",
388031
+ additionalProperties: true
388032
+ },
388033
+ {
388034
+ type: "array",
388035
+ items: {
388036
+ type: "object",
388037
+ additionalProperties: true
388038
+ }
388039
+ }
388040
+ ]
388041
+ },
388042
+ pagination: {
388043
+ $ref: "#/definitions/paginationConfig"
388044
+ }
388045
+ },
388046
+ additionalProperties: false,
388047
+ required: ["query"]
388048
+ },
388049
+ getQueryLoaderConfig: {
388050
+ title: "GetQueryLoaderConfig",
388051
+ type: "object",
388052
+ properties: {
388053
+ query: {
388054
+ type: "string"
388055
+ },
388056
+ args: {
388057
+ type: "object",
388058
+ additionalProperties: true
388059
+ },
388060
+ idArg: {
388061
+ type: "string"
388062
+ }
388063
+ },
388064
+ additionalProperties: false,
388065
+ required: ["query"]
388066
+ },
388067
+ paginationConfig: {
388068
+ title: "Pagination Config",
388069
+ oneOf: [
388070
+ {
388071
+ $ref: "#/definitions/paginationCursorConfig"
388072
+ },
388073
+ {
388074
+ $ref: "#/definitions/paginationPageConfig"
388075
+ },
388076
+ {
388077
+ $ref: "#/definitions/paginationOffsetConfig"
388078
+ }
388079
+ ]
388080
+ },
388081
+ paginationCursorConfig: {
388082
+ title: "Pagination Cursor Config",
388083
+ type: "object",
388084
+ properties: {
388085
+ type: {
388086
+ type: "string",
388087
+ enum: ["cursor"]
388088
+ },
388089
+ cursorArg: {
388090
+ type: "string"
388091
+ },
388092
+ cursorPath: {
388093
+ type: "string"
388094
+ },
388095
+ pageSize: {
388096
+ type: "number"
388097
+ },
388098
+ pageSizeArg: {
388099
+ type: "string"
388100
+ },
388101
+ hasMorePath: {
388102
+ type: "string"
388103
+ },
388104
+ itemsPath: {
388105
+ type: "string"
388106
+ }
388107
+ },
388108
+ additionalProperties: false,
388109
+ required: ["type", "cursorArg", "cursorPath", "pageSizeArg", "hasMorePath", "itemsPath"]
388110
+ },
388111
+ paginationPageConfig: {
388112
+ title: "Pagination Page Config",
388113
+ type: "object",
388114
+ properties: {
388115
+ type: {
388116
+ type: "string",
388117
+ enum: ["page"]
388118
+ },
388119
+ pageArg: {
388120
+ type: "string"
388121
+ },
388122
+ pageSize: {
388123
+ type: "number"
388124
+ },
388125
+ pageSizeArg: {
388126
+ type: "string"
388127
+ },
388128
+ itemsPath: {
388129
+ type: "string"
388130
+ },
388131
+ pageTotalPath: {
388132
+ type: "string"
388133
+ }
388134
+ },
388135
+ additionalProperties: false,
388136
+ required: ["type", "pageArg", "itemsPath", "pageTotalPath"]
388137
+ },
388138
+ paginationOffsetConfig: {
388139
+ title: "Pagination Offset Config",
388140
+ type: "object",
388141
+ properties: {
388142
+ type: {
388143
+ type: "string",
388144
+ enum: ["offset"]
388145
+ },
388146
+ offsetArg: {
388147
+ type: "string"
388148
+ },
388149
+ pageSize: {
388150
+ type: "number"
388151
+ },
388152
+ pageSizeArg: {
388153
+ type: "string"
388154
+ },
388155
+ itemsPath: {
388156
+ type: "string"
388157
+ },
388158
+ itemTotalPath: {
388159
+ type: "string"
388160
+ }
388161
+ },
388162
+ additionalProperties: false,
388163
+ required: ["type", "offsetArg", "itemsPath", "itemTotalPath"]
388164
+ },
388165
+ cacheTriggerConfig: {
388166
+ title: "CacheTriggerConfig",
388167
+ oneOf: [
388168
+ {
388169
+ $ref: "#/definitions/cacheScheduleTriggerConfig"
388170
+ },
388171
+ {
388172
+ $ref: "#/definitions/cacheWebhookTriggerConfig"
388173
+ }
388174
+ ]
388175
+ },
388176
+ cacheScheduleTriggerConfig: {
388177
+ title: "CacheScheduleTriggerConfig",
388178
+ type: "object",
388179
+ properties: {
388180
+ type: {
388181
+ type: "string",
388182
+ enum: ["schedule"]
388183
+ },
388184
+ loader: {
388185
+ enum: ["get", "list"]
388186
+ },
388187
+ interval: {
388188
+ type: "number"
388189
+ }
388190
+ },
388191
+ additionalProperties: false,
388192
+ required: ["type", "loader", "interval"]
388193
+ },
388194
+ cacheWebhookTriggerConfig: {
388195
+ title: "CacheWebhookTriggerConfig",
388196
+ type: "object",
388197
+ properties: {
388198
+ type: {
388199
+ type: "string",
388200
+ enum: ["webhook"]
388201
+ },
388202
+ loader: {
388203
+ enum: ["get", "list"]
388204
+ },
388205
+ service: {
388206
+ type: "string"
388207
+ },
388208
+ events: {
388209
+ type: "array",
388210
+ items: {
388211
+ type: "string"
388212
+ }
388213
+ }
388214
+ },
388215
+ additionalProperties: false,
388216
+ required: ["type", "loader", "service", "events"]
388217
+ },
388218
+ formScalarConfig: {
388219
+ title: "Form Scalar Config",
388220
+ type: "object",
388221
+ properties: {
388222
+ widget: {
388223
+ type: "string"
388224
+ }
388225
+ },
388226
+ additionalProperties: false,
388227
+ required: ["widget"]
388228
+ },
388229
+ formObjectConfig: {
388230
+ title: "Form Object Config",
388231
+ type: "object",
388232
+ properties: {
388233
+ widget: {
388234
+ type: "string"
388235
+ },
388236
+ order: {
388237
+ type: "array",
388238
+ items: {
388239
+ type: "string"
388240
+ }
388241
+ },
388242
+ properties: {
388243
+ patternProperties: {
388244
+ "[0-9A-Za-z_-]+": {
388245
+ $ref: "#/definitions/formConfig"
388246
+ }
388247
+ }
388248
+ }
388249
+ },
388250
+ additionalProperties: false
388251
+ },
388252
+ formArrayConfig: {
388253
+ title: "Form Array Config",
388254
+ type: "object",
388255
+ properties: {
388256
+ widget: {
388257
+ type: "string"
388258
+ },
388259
+ items: {
388260
+ $ref: "#/definitions/formConfig"
388261
+ }
388262
+ },
388263
+ additionalProperties: false,
388264
+ required: ["widget", "items"]
388265
+ },
388266
+ customAuthentication: {
388267
+ title: "Custom Authentication",
388268
+ description: "For use with a custom auth handler on a service provider.",
388269
+ type: "object",
388270
+ properties: {
388271
+ type: {
388272
+ type: "string",
388273
+ enum: ["custom"]
388274
+ }
388275
+ },
388276
+ additionalProperties: true,
388277
+ required: ["type"]
388278
+ },
388279
+ searchParamsAuthentication: {
388280
+ title: "Search Params Authentication",
388281
+ type: "object",
388282
+ properties: {
388283
+ type: {
388284
+ type: "string",
388285
+ enum: ["searchParams"]
388286
+ },
388287
+ params: {
388288
+ type: "array",
388289
+ items: {
388290
+ properties: {
388291
+ name: {
388292
+ type: "string"
388293
+ },
388294
+ value: {
388295
+ type: "string"
388296
+ }
388297
+ },
388298
+ required: ["name", "value"],
388299
+ additionalProperties: false
388300
+ }
388301
+ }
388302
+ },
388303
+ additionalProperties: false,
388304
+ required: ["type", "params"]
388305
+ },
388306
+ bearerAuthentication: {
388307
+ title: "Bearer Authentication",
388308
+ type: "object",
388309
+ properties: {
388310
+ type: {
388311
+ type: "string",
388312
+ enum: ["bearer"]
388313
+ },
388314
+ token: {
388315
+ type: "string"
388316
+ },
388317
+ prefix: {
388318
+ type: "string"
388319
+ },
388320
+ header: {
388321
+ type: "string"
388322
+ }
388323
+ },
388324
+ additionalProperties: false,
388325
+ required: ["type", "token"]
388326
+ },
388327
+ oauth2BearerAuthentication: {
388328
+ title: "OAuth 2 Bearer Authentication",
388329
+ type: "object",
388330
+ properties: {
388331
+ type: {
388332
+ type: "string",
388333
+ enum: ["oauth2Bearer"]
388334
+ },
388335
+ token: {
388336
+ type: "string"
388337
+ },
388338
+ prefix: {
388339
+ type: "string"
388340
+ },
388341
+ header: {
388342
+ type: "string"
388343
+ },
388344
+ scope: {
388345
+ type: "string"
388346
+ },
388347
+ expiresAt: {
388348
+ type: "string"
388349
+ }
388350
+ },
388351
+ additionalProperties: false,
388352
+ required: ["type", "token"]
388353
+ },
388354
+ basicAuthentication: {
388355
+ title: "Basic Authentication",
388356
+ type: "object",
388357
+ properties: {
388358
+ type: {
388359
+ type: "string",
388360
+ enum: ["basic"]
388361
+ },
388362
+ username: {
388363
+ type: "string"
388364
+ },
388365
+ password: {
388366
+ type: "string"
388367
+ },
388368
+ useIso8859: {
388369
+ type: "boolean"
388370
+ }
388371
+ },
388372
+ additionalProperties: false,
388373
+ required: ["type", "username", "password"]
388374
+ },
388375
+ oauth2Authentication: {
388376
+ title: "OAuth 2 Authentication",
388377
+ type: "object",
388378
+ properties: {
388379
+ type: {
388380
+ type: "string",
388381
+ enum: ["oauth2"]
388382
+ },
388383
+ grantType: {
388384
+ type: "string",
388385
+ enum: ["authorizationCode", "clientCredentials"]
388386
+ },
388387
+ authorizationUrl: {
388388
+ type: "string"
388389
+ },
388390
+ accessTokenUrl: {
388391
+ type: "string"
388392
+ },
388393
+ clientId: {
388394
+ type: "string"
388395
+ },
388396
+ clientSecret: {
388397
+ type: "string"
388398
+ },
388399
+ scope: {
388400
+ type: "string"
388401
+ },
388402
+ usePkce: {
388403
+ type: "boolean"
388404
+ },
388405
+ redirectUrl: {
388406
+ type: "string"
388407
+ },
388408
+ headerPrefix: {
388409
+ type: "string"
388410
+ },
388411
+ audience: {
388412
+ type: "string"
388413
+ },
388414
+ resource: {
388415
+ type: "string"
388416
+ }
388417
+ },
388418
+ additionalProperties: false,
388419
+ required: ["type", "grantType", "clientId"]
388420
+ },
388421
+ awsAuthentication: {
388422
+ title: "AWS Authentication",
388423
+ type: "object",
388424
+ properties: {
388425
+ type: {
388426
+ type: "string",
388427
+ enum: ["aws"]
388428
+ },
388429
+ awsAccessKeyId: {
388430
+ type: "string"
388431
+ },
388432
+ awsSecretAccessKey: {
388433
+ type: "string"
388434
+ }
388435
+ },
388436
+ additionalProperties: false,
388437
+ required: ["type", "awsAccessKeyId", "awsSecretAccessKey"]
388438
+ },
388439
+ googleAuthentication: {
388440
+ title: "Google Authentication",
388441
+ type: "object",
388442
+ properties: {
388443
+ type: {
388444
+ type: "string",
388445
+ enum: ["google"]
388446
+ },
388447
+ clientEmail: {
388448
+ type: "string"
388449
+ },
388450
+ privateKey: {
388451
+ type: "string"
388452
+ }
388453
+ },
388454
+ additionalProperties: false,
388455
+ required: ["type", "clientEmail", "privateKey"]
388456
+ },
388457
+ serviceAuthentication: {
388458
+ title: "Service Authentication",
388459
+ oneOf: [
388460
+ {
388461
+ $ref: "#/definitions/oauth2Authentication"
388462
+ },
388463
+ {
388464
+ $ref: "#/definitions/oauth2BearerAuthentication"
388465
+ },
388466
+ {
388467
+ $ref: "#/definitions/bearerAuthentication"
388468
+ },
388469
+ {
388470
+ $ref: "#/definitions/basicAuthentication"
388471
+ },
388472
+ {
388473
+ $ref: "#/definitions/searchParamsAuthentication"
388474
+ },
388475
+ {
388476
+ $ref: "#/definitions/awsAuthentication"
388477
+ },
388478
+ {
388479
+ $ref: "#/definitions/googleAuthentication"
388480
+ },
388481
+ {
388482
+ $ref: "#/definitions/customAuthentication"
388483
+ }
388484
+ ]
388485
+ },
388486
+ serviceHealthCheckTrigger: {
388487
+ title: "Service Health Check Trigger",
388488
+ enum: ["manual", "schedule"]
388489
+ },
388490
+ serviceHealthCheck: {
388491
+ title: "Service Health Check",
388492
+ description: "Configuration for ping health checks.",
388493
+ type: "object",
388494
+ properties: {
388495
+ checkName: {
388496
+ title: "Check Name",
388497
+ description: "The name of a health check to run",
388498
+ type: "string",
388499
+ enum: ["graphqlIntrospection", "ping", "none"]
388500
+ },
388501
+ endpoint: {
388502
+ title: "Endpoint",
388503
+ description: "The endpoint to use when checking the service health.",
388504
+ type: "string"
388505
+ },
388506
+ requestMethod: {
388507
+ title: "Request Method",
388508
+ description: "A custom method to use for the health check request.",
388509
+ type: "string",
388510
+ enum: ["GET", "POST", "PUT", "PATCH", "DELETE"]
388511
+ },
388512
+ requestHeaders: {
388513
+ title: "Request Headers",
388514
+ description: "Any custom headers to set with the health check request.",
388515
+ type: "object",
388516
+ propertyNames: {
388517
+ pattern: "[0-9A-Za-z_-]+"
388518
+ }
388519
+ },
388520
+ requestSearchParams: {
388521
+ title: "Request Search Params",
388522
+ description: "Any custom search params to set with the health check request.",
388523
+ type: "object",
388524
+ propertyNames: {
388525
+ pattern: "[0-9A-Za-z_-]+"
388526
+ }
388527
+ },
388528
+ requestBody: {
388529
+ title: "Request Body",
388530
+ description: "A custom body to send along with the ping request.",
388531
+ type: "string"
388532
+ },
388533
+ requestBodyFormat: {
388534
+ title: "Request Body Format",
388535
+ description: "A custom body to send along with the ping request.",
388536
+ type: "string",
388537
+ enum: ["string", "form", "json", "form-data"]
388538
+ },
388539
+ requestTimeout: {
388540
+ title: "Request Timeout",
388541
+ description: "The amount of time to wait when receiving a response from the health check, in seconds.",
388542
+ type: "number",
388543
+ minimum: 2,
388544
+ maximum: 60
388545
+ },
388546
+ healthyResponseStatusCode: {
388547
+ title: "Healthy Response Status Code",
388548
+ description: "The response status code that qualifies as healthy.",
388549
+ type: "number",
388550
+ minimum: 200,
388551
+ maximum: 399
388552
+ },
388553
+ triggers: {
388554
+ type: "array",
388555
+ items: {
388556
+ $ref: "#/definitions/serviceHealthCheckTrigger"
388557
+ }
388558
+ }
388559
+ },
388560
+ required: ["checkName"],
388561
+ additionalProperties: false
388562
+ },
388563
+ serviceType: {
388564
+ title: "Service Type",
388565
+ description: "The general type of this service, specifying how and where it will be utilized.",
388566
+ type: "string",
388567
+ enum: ["deployment", "authentication", "takeshape", "rest", "graphql", "openapi", "aws", "unknown"]
388568
+ },
388569
+ serviceConfig: {
388570
+ title: "Service Config",
388571
+ type: "object",
388572
+ properties: {
388573
+ id: {
388574
+ type: "string",
388575
+ description: "Machine-readable identifier, should typically be the same as the property name on the services object."
388576
+ },
388577
+ title: {
388578
+ type: "string",
388579
+ description: "Human-readable name for this service."
388580
+ },
388581
+ provider: {
388582
+ description: "The service provider id.",
388583
+ type: "string"
388584
+ },
388585
+ namespace: {
388586
+ type: "string",
388587
+ description: "A namespace to use for the imported types tied to this service."
388588
+ },
388589
+ serviceType: {
388590
+ $ref: "#/definitions/serviceType"
388591
+ },
388592
+ authenticationType: {
388593
+ type: "string",
388594
+ enum: [
388595
+ "oauth2",
388596
+ "basic",
388597
+ "bearer",
388598
+ "searchParams",
388599
+ "oauth2Bearer",
388600
+ "custom",
388601
+ "aws",
388602
+ "google",
388603
+ "none",
388604
+ "unknown"
388605
+ ]
388606
+ },
388607
+ authentication: {
388608
+ $ref: "#/definitions/serviceAuthentication"
388609
+ },
388610
+ healthCheck: {
388611
+ $ref: "#/definitions/serviceHealthCheck"
388612
+ },
388613
+ webhookId: {
388614
+ type: "string"
388615
+ },
388616
+ options: {
388617
+ type: "object",
388618
+ description: "Configuration options passed to and handled by the provider."
388619
+ }
388620
+ },
388621
+ required: ["id", "title", "provider", "serviceType", "authenticationType"],
388622
+ additionalProperties: false
388623
+ },
388624
+ storedServiceConfig: {
388625
+ title: "Service Config JSON",
388626
+ type: "object",
388627
+ properties: {
388628
+ id: {
388629
+ type: "string",
388630
+ description: "Machine-readable identifier, should typically be the same as the property name on the services object."
388631
+ },
388632
+ title: {
388633
+ type: "string",
388634
+ description: "Human-readable name for this service."
388635
+ },
388636
+ provider: {
388637
+ type: "string",
388638
+ description: "The service provider id."
388639
+ },
388640
+ namespace: {
388641
+ type: "string",
388642
+ description: "A namespace to use for the imported types tied to this service."
388643
+ },
388644
+ serviceType: {
388645
+ $ref: "#/definitions/serviceType"
388646
+ },
388647
+ authenticationType: {
388648
+ type: "string",
388649
+ enum: [
388650
+ "oauth2",
388651
+ "basic",
388652
+ "bearer",
388653
+ "searchParams",
388654
+ "oauth2Bearer",
388655
+ "custom",
388656
+ "aws",
388657
+ "google",
388658
+ "none",
388659
+ "unknown"
388660
+ ]
388661
+ },
388662
+ authentication: {
388663
+ type: "string"
388664
+ },
388665
+ healthCheck: {
388666
+ $ref: "#/definitions/serviceHealthCheck"
388667
+ },
388668
+ webhookId: {
388669
+ type: "string"
388670
+ },
388671
+ options: {
388672
+ type: "object",
388673
+ description: "Configuration options passed to and handled by the provider."
388674
+ }
388675
+ },
388676
+ required: ["id", "title", "provider", "serviceType", "authenticationType"],
388677
+ additionalProperties: false
388678
+ },
388679
+ anyServiceConfig: {
388680
+ title: "Any Service Config",
388681
+ oneOf: [
388682
+ {
388683
+ $ref: "#/definitions/storedServiceConfig"
388684
+ },
388685
+ {
388686
+ $ref: "#/definitions/serviceConfig"
388687
+ }
388688
+ ]
388689
+ },
388690
+ storedServiceMap: {
388691
+ title: "Service Map JSON",
388692
+ type: "object",
388693
+ patternProperties: {
388694
+ "[0-9A-Za-z_-]+": {
388695
+ $ref: "#/definitions/storedServiceConfig"
388696
+ }
388697
+ }
388698
+ },
388699
+ workflowStep: {
388700
+ title: "Workflow Step",
388701
+ type: "object",
388702
+ properties: {
388703
+ name: {
388704
+ type: "string",
388705
+ title: "Name",
388706
+ pattern: "^[_a-zA-Z][_a-zA-Z0-9]*$",
388707
+ description: "machine-readable slug"
388708
+ },
388709
+ title: {
388710
+ title: "Title",
388711
+ type: "string",
388712
+ description: "Human-readable id for use in the UI"
388713
+ },
388714
+ description: {
388715
+ title: "Description",
388716
+ type: "string"
388717
+ },
388718
+ color: {
388719
+ title: "Color",
388720
+ type: "string",
388721
+ description: "Hex color code"
388722
+ },
388723
+ live: {
388724
+ title: "Live",
388725
+ type: "boolean",
388726
+ description: "Value to indicate whether items in the state should be returned in list queries"
388727
+ },
388728
+ key: {
388729
+ title: "Key",
388730
+ type: "string",
388731
+ description: "machine-readable id"
388732
+ }
388733
+ },
388734
+ required: ["name", "title", "color", "live", "key"],
388735
+ additionalProperties: false
388736
+ },
388737
+ workflow: {
388738
+ title: "Workflow",
388739
+ type: "object",
388740
+ properties: {
388741
+ name: {
388742
+ type: "string",
388743
+ pattern: "^[_a-zA-Z][_a-zA-Z0-9]*$",
388744
+ description: "machine-readable id"
388745
+ },
388746
+ title: {
388747
+ type: "string",
388748
+ title: "Workflow Name",
388749
+ minLength: 1,
388750
+ description: "Human-readable id for use in the UI"
388751
+ },
388752
+ steps: {
388753
+ type: "array",
388754
+ title: "Steps",
388755
+ items: {
388756
+ $ref: "#/definitions/workflowStep"
388757
+ },
388758
+ minItems: 1
388759
+ }
388760
+ },
388761
+ required: ["name", "title", "steps"]
388762
+ },
388763
+ workflowMap: {
388764
+ title: "Workflow Map",
388765
+ type: "object",
388766
+ patternProperties: {
388767
+ "[0-9A-Za-z_-]+": {
388768
+ $ref: "#/definitions/workflow"
388769
+ }
388770
+ }
388771
+ },
388772
+ formConfig: {
388773
+ title: "Form Config",
388774
+ type: "object"
388775
+ },
388776
+ formsConfig: {
388777
+ title: "Forms Config",
388778
+ type: "object",
388779
+ properties: {
388780
+ default: {
388781
+ $ref: "#/definitions/formConfig"
388782
+ }
388783
+ },
388784
+ patternProperties: {
388785
+ "[0-9A-Za-z_-]+": {
388786
+ $ref: "#/definitions/formConfig"
388787
+ }
388788
+ },
388789
+ required: ["default"]
388790
+ },
388791
+ agent: {
388792
+ title: "Agent JSON",
388793
+ description: "An Agent is a configuration for an AI service such as a chat bot or a search engine.",
388794
+ type: "object",
388795
+ properties: {
388796
+ description: {
388797
+ type: "string"
388798
+ },
388799
+ systemPrompt: {
388800
+ type: "string"
388801
+ },
388802
+ api: {
388803
+ $ref: "#/definitions/agentApi"
388804
+ },
388805
+ memory: {
388806
+ $ref: "#/definitions/agentMemory"
388807
+ },
388808
+ start: {
388809
+ $ref: "#/definitions/agentStart"
388810
+ },
388811
+ states: {
388812
+ $ref: "#/definitions/agentStateMap"
388813
+ },
388814
+ guards: {
388815
+ type: "array",
388816
+ items: {
388817
+ $ref: "#/definitions/agentGuard"
388818
+ }
388819
+ },
388820
+ historyStrategies: {
388821
+ $ref: "#/definitions/historyStrategyMap"
388822
+ }
388823
+ },
388824
+ required: ["start", "states", "api"],
388825
+ additionalProperties: false
388826
+ },
388827
+ historyStrategyMap: {
388828
+ title: "History Strategy Map",
388829
+ type: "object",
388830
+ patternProperties: {
388831
+ "^[0-9A-Za-z_]+$": {
388832
+ $ref: "#/definitions/historyStrategy"
388833
+ }
388834
+ },
388835
+ additionalProperties: false
388836
+ },
388837
+ historyStrategy: {
388838
+ title: "History Strategy",
388839
+ type: "object",
388840
+ properties: {
388841
+ name: {
388842
+ type: "string"
388843
+ },
388844
+ variables: {
388845
+ title: "Variables",
388846
+ type: "array",
388847
+ items: {
388848
+ $ref: "#/definitions/agentVariable"
388849
+ }
388850
+ },
388851
+ filter: {
388852
+ $ref: "#/definitions/historyStrategyFilter"
388853
+ },
388854
+ transform: {
388855
+ $ref: "#/definitions/historyStrategyTransform"
388856
+ }
388857
+ },
388858
+ required: ["name", "transform"],
388859
+ additionalProperties: false
388860
+ },
388861
+ historyStrategyFilter: {
388862
+ title: "History Strategy Filter",
388863
+ type: "object",
388864
+ properties: {
388865
+ toolCalls: {
388866
+ enum: ["retain", "clear"]
388867
+ }
388868
+ },
388869
+ additionalProperties: false
388870
+ },
388871
+ historyStrategyTransform: {
388872
+ title: "History Strategy Transform",
388873
+ discriminator: {
388874
+ propertyName: "type"
388875
+ },
388876
+ oneOf: [
388877
+ {
388878
+ $ref: "#/definitions/historyStrategyTransformNone"
388879
+ },
388880
+ {
388881
+ $ref: "#/definitions/historyStrategyTransformReplace"
388882
+ },
388883
+ {
388884
+ $ref: "#/definitions/historyStrategyTransformSummarize"
388885
+ }
388886
+ ]
388887
+ },
388888
+ historyStrategyTransformNone: {
388889
+ title: "History Strategy Transform None",
388890
+ type: "object",
388891
+ properties: {
388892
+ type: {
388893
+ enum: ["none"]
388894
+ }
388895
+ },
388896
+ required: ["type"],
388897
+ additionalProperties: false
388898
+ },
388899
+ historyStrategyTransformReplace: {
388900
+ title: "History Strategy Transform Replace",
388901
+ type: "object",
388902
+ properties: {
388903
+ type: {
388904
+ enum: ["replace"]
388905
+ },
388906
+ template: {
388907
+ type: "string"
388908
+ }
388909
+ },
388910
+ required: ["type", "template"],
388911
+ additionalProperties: false
388912
+ },
388913
+ historyStrategyTransformSummarize: {
388914
+ title: "History Strategy Transform Summarize",
388915
+ type: "object",
388916
+ properties: {
388917
+ type: {
388918
+ enum: ["generate"]
388919
+ },
388920
+ service: {
388921
+ type: "string"
388922
+ },
388923
+ model: {
388924
+ type: "string"
388925
+ },
388926
+ systemPrompt: {
388927
+ type: "string"
388928
+ },
388929
+ tools: {
388930
+ type: "array",
388931
+ items: {
388932
+ $ref: "#/definitions/agentToolConfig"
388933
+ }
388934
+ },
388935
+ options: {
388936
+ $ref: "#/definitions/agentGenerateOptions"
388937
+ }
388938
+ },
388939
+ required: ["type", "service", "model", "systemPrompt"],
388940
+ additionalProperties: false
388941
+ },
388942
+ tool: {
388943
+ title: "Tool JSON",
388944
+ type: "object",
388945
+ properties: {
388946
+ name: {
388947
+ type: "string"
388948
+ },
388949
+ ref: {
388950
+ type: "string"
388951
+ },
388952
+ description: {
388953
+ type: "string"
388954
+ },
388955
+ args: {
388956
+ type: "array",
388957
+ items: {
388958
+ $ref: "#/definitions/toolArg"
388959
+ }
388960
+ },
388961
+ selectionSet: {
388962
+ type: "string"
388963
+ }
388964
+ },
388965
+ required: ["name", "ref"],
388966
+ additionalProperties: false
388967
+ },
388968
+ toolArg: {
388969
+ title: "Tool Arg",
388970
+ type: "object",
388971
+ discriminator: {
388972
+ propertyName: "type"
388973
+ },
388974
+ oneOf: [
388975
+ {
388976
+ $ref: "#/definitions/agentToolConfigArgAgent"
388977
+ }
388978
+ ]
388979
+ },
388980
+ agentApi: {
388981
+ title: "Agent API",
388982
+ type: "object",
388983
+ properties: {
388984
+ inputs: {
388985
+ type: "array",
388986
+ items: {
388987
+ $ref: "#/definitions/agentApiInput"
388988
+ }
388989
+ }
388990
+ },
388991
+ required: ["inputs"],
388992
+ additionalProperties: false
388993
+ },
388994
+ agentMemory: {
388995
+ title: "Agent Memory",
388996
+ type: "object",
388997
+ properties: {
388998
+ sessionMemory: {
388999
+ $ref: "#/definitions/agentSessionMemory"
389000
+ }
389001
+ },
389002
+ required: ["sessionMemory"],
389003
+ additionalProperties: false
389004
+ },
389005
+ agentSessionMemory: {
389006
+ title: "Agent Session Memory",
389007
+ type: "object",
389008
+ properties: {
389009
+ shape: {
389010
+ type: "string"
389011
+ }
389012
+ },
389013
+ required: [],
389014
+ additionalProperties: false
389015
+ },
389016
+ agentVariable: {
389017
+ title: "Agent Variable",
389018
+ type: "object",
389019
+ properties: {
389020
+ name: {
389021
+ type: "string"
389022
+ },
389023
+ steps: {
389024
+ description: "These are evaluated in order until a value is found.",
389025
+ type: "array",
389026
+ items: {
389027
+ $ref: "#/definitions/agentVariableStep"
389028
+ }
389029
+ }
389030
+ },
389031
+ required: ["name", "steps"],
389032
+ additionalProperties: false
389033
+ },
389034
+ agentVariableStep: {
389035
+ title: "Agent Variable Step",
389036
+ type: "object",
389037
+ properties: {
389038
+ condition: {
389039
+ type: "string"
389040
+ },
389041
+ expression: {
389042
+ type: "string"
389043
+ }
389044
+ },
389045
+ required: ["expression"],
389046
+ additionalProperties: false
389047
+ },
389048
+ agentStart: {
389049
+ title: "Agent Start",
389050
+ description: "Configuration for the start of an agent's execution",
389051
+ type: "object",
389052
+ properties: {
389053
+ transitions: {
389054
+ type: "array",
389055
+ items: {
389056
+ $ref: "#/definitions/agentTransitionSuspend"
389057
+ }
389058
+ }
389059
+ },
389060
+ required: ["transitions"],
389061
+ additionalProperties: false
389062
+ },
389063
+ agentStateMap: {
389064
+ title: "Agent States",
389065
+ description: "States that are traversed during the execution of an agent.",
389066
+ type: "object",
389067
+ patternProperties: {
389068
+ "^[0-9A-Za-z_]+$": {
389069
+ $ref: "#/definitions/agentState"
389070
+ }
389071
+ },
389072
+ additionalProperties: false
389073
+ },
389074
+ agentState: {
389075
+ title: "Agent State",
389076
+ description: "One step of an agent's execution.",
389077
+ type: "object",
389078
+ properties: {
389079
+ name: {
389080
+ type: "string",
389081
+ pattern: "^[a-zA-Z][0-9A-Za-z_]*$"
389082
+ },
389083
+ variables: {
389084
+ title: "Variables",
389085
+ type: "array",
389086
+ items: {
389087
+ $ref: "#/definitions/agentVariable"
389088
+ }
389089
+ },
389090
+ execution: {
389091
+ $ref: "#/definitions/agentExecution"
389092
+ },
389093
+ transitions: {
389094
+ type: "array",
389095
+ items: {
389096
+ $ref: "#/definitions/agentTransition"
389097
+ }
389098
+ }
389099
+ },
389100
+ required: ["name", "execution"],
389101
+ additionalProperties: false
389102
+ },
389103
+ agentExecution: {
389104
+ title: "Agent Execution",
389105
+ discriminator: {
389106
+ propertyName: "type"
389107
+ },
389108
+ oneOf: [
389109
+ {
389110
+ $ref: "#/definitions/agentExecutionGraphql"
389111
+ },
389112
+ {
389113
+ $ref: "#/definitions/agentExecutionGenerate"
389114
+ },
389115
+ {
389116
+ $ref: "#/definitions/agentExecutionChat"
389117
+ }
389118
+ ]
389119
+ },
389120
+ agentApiInput: {
389121
+ title: "Agent API Input",
389122
+ discriminator: {
389123
+ propertyName: "type"
389124
+ },
389125
+ oneOf: [
389126
+ {
389127
+ $ref: "#/definitions/agentApiMutationInput"
389128
+ }
389129
+ ]
389130
+ },
389131
+ agentApiMutationInput: {
389132
+ title: "Agent API Mutation Input",
389133
+ type: "object",
389134
+ properties: {
389135
+ type: {
389136
+ enum: ["mutation"]
389137
+ },
389138
+ name: {
389139
+ type: "string",
389140
+ pattern: "^[0-9A-Za-z_]+$"
389141
+ },
389142
+ args: {
389143
+ type: "string"
389144
+ },
389145
+ interactionTimeout: {
389146
+ title: "Interaction Timeout (milliseconds)",
389147
+ type: "integer"
389148
+ }
389149
+ },
389150
+ required: ["type", "name", "args"],
389151
+ additionalProperties: false
389152
+ },
389153
+ agentExecutionGraphql: {
389154
+ title: "Agent Execution GraphQL",
389155
+ type: "object",
389156
+ properties: {
389157
+ type: {
389158
+ enum: ["graphql"]
389159
+ },
389160
+ query: {
389161
+ type: "string"
389162
+ },
389163
+ path: {
389164
+ type: "string"
389165
+ }
389166
+ },
389167
+ required: ["type", "query"],
389168
+ additionalProperties: false
389169
+ },
389170
+ agentStateSessionMemoryAssignment: {
389171
+ title: "Agent State Session Memory Assignment",
389172
+ type: "object",
389173
+ properties: {
389174
+ memoryPath: {
389175
+ type: "string"
389176
+ },
389177
+ expression: {
389178
+ type: "string"
389179
+ }
389180
+ },
389181
+ required: ["expression"],
389182
+ additionalProperties: false
389183
+ },
389184
+ agentAiStateInputArg: {
389185
+ title: "Agent AI State Input Argument",
389186
+ type: "object",
389187
+ properties: {
389188
+ type: {
389189
+ enum: ["arg"]
389190
+ }
389191
+ },
389192
+ required: ["type"],
389193
+ additionalProperties: false
389194
+ },
389195
+ agentAiStateInputTemplate: {
389196
+ title: "Agent AI State Input Template",
389197
+ type: "object",
389198
+ properties: {
389199
+ type: {
389200
+ enum: ["template"]
389201
+ },
389202
+ inputTemplate: {
389203
+ type: "string"
389204
+ }
389205
+ },
389206
+ required: ["type", "inputTemplate"],
389207
+ additionalProperties: false
389208
+ },
389209
+ agentAiStateInput: {
389210
+ title: "Agent AI State Input",
389211
+ type: "object",
389212
+ discriminator: {
389213
+ propertyName: "type"
389214
+ },
389215
+ oneOf: [
389216
+ {
389217
+ $ref: "#/definitions/agentAiStateInputArg"
389218
+ },
389219
+ {
389220
+ $ref: "#/definitions/agentAiStateInputTemplate"
389221
+ }
389222
+ ]
389223
+ },
389224
+ agentGenerateOptions: {
389225
+ title: "AgentGenerateOptions",
389226
+ type: "object",
389227
+ properties: {
389228
+ history: {
389229
+ title: "history",
389230
+ type: "boolean"
389231
+ },
389232
+ maxTokens: {
389233
+ type: "integer",
389234
+ title: "Maximum Tokens",
389235
+ description: "Maximum number of tokens to generate. Defaults to 1024"
389236
+ },
389237
+ temperature: {
389238
+ type: "number",
389239
+ title: "Temperature",
389240
+ description: "This is a number between 0 (almost no randomness) and 1 (very random). It is recommended to set either `temperature` or `topP`, but not both. Defaults to 0",
389241
+ minimum: 0,
389242
+ maximum: 1
389243
+ },
389244
+ topP: {
389245
+ type: "number",
389246
+ title: "Top P",
389247
+ description: "Nucleus sampling. This is a number between 0 and 1. E.g. 0.1 would mean that only tokens with the top 10% probability mass are considered. It is recommended to set either `temperature` or `topP`, but not both.",
389248
+ minimum: 0,
389249
+ maximum: 1
389250
+ },
389251
+ topK: {
389252
+ type: "number",
389253
+ title: "Top K",
389254
+ description: 'Only sample from the top K options for each subsequent token. Used to remove "long tail" low probability responses. Recommended for advanced use cases only. You usually only need to use temperature.'
389255
+ },
389256
+ presencePenalty: {
389257
+ type: "number",
389258
+ title: "Presence penalty setting",
389259
+ description: "It affects the likelihood of the model to repeat information that is already in the prompt. The presence penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.",
389260
+ minimum: -1,
389261
+ maximum: 1
389262
+ },
389263
+ frequencyPenalty: {
389264
+ type: "number",
389265
+ title: "Frequency penalty setting",
389266
+ description: "It affects the likelihood of the model to repeatedly use the same words or phrases. The frequency penalty is a number between -1 (increase repetition) and 1 (maximum penalty, decrease repetition). 0 means no penalty.",
389267
+ minimum: -1,
389268
+ maximum: 1
389269
+ },
389270
+ stopSequences: {
389271
+ title: "Stop sequences",
389272
+ description: "If set, the model will stop generating text when one of the stop sequences is generated.",
389273
+ type: "array",
389274
+ items: {
389275
+ type: "string"
389276
+ }
389277
+ },
389278
+ seed: {
389279
+ type: "integer",
389280
+ title: "Seed",
389281
+ description: " The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results."
389282
+ },
389283
+ maxRetries: {
389284
+ type: "integer",
389285
+ description: "Maximum number of retries. Set to 0 to disable retries. Defaults to 2"
389286
+ },
389287
+ toolChoice: {
389288
+ type: "string",
389289
+ description: "The tool choice strategy. Default: 'auto'",
389290
+ anyOf: [
389291
+ {
389292
+ enum: ["auto", "none", "required"]
389293
+ },
389294
+ {
389295
+ type: "string"
389296
+ }
389297
+ ]
389298
+ },
389299
+ maxToolRoundtrips: {
389300
+ type: "integer",
389301
+ title: "Max Tool Roundtrips",
389302
+ description: "Maximal number of automatic roundtrips for tool calls."
389303
+ },
389304
+ structuredOutputs: {
389305
+ type: "boolean",
389306
+ title: "Structured Outputs",
389307
+ description: "If true, structured outputs will be enabled on the model for non-text requests."
389308
+ },
389309
+ enableOpenAIFormat: {
389310
+ type: "boolean",
389311
+ title: "Enable OpenAI Schema Format",
389312
+ description: "Enable OpenAI schema format. Must be enabled if `structuredOutputs` is enabled."
389313
+ },
389314
+ removePropertyKeyPatterns: {
389315
+ $ref: "#/definitions/removePropertyKeyPatterns"
389316
+ },
389317
+ stripMarkdown: {
389318
+ type: "boolean",
389319
+ title: "Strip Markdown",
389320
+ description: "Remove Markdown formatting from the LLM response"
389321
+ }
389322
+ },
389323
+ additionalProperties: false
389324
+ },
389325
+ agentGuard: {
389326
+ title: "Agent Guard",
389327
+ type: "object",
389328
+ properties: {
389329
+ guardId: {
389330
+ title: "Guard ID",
389331
+ type: "string"
389332
+ }
389333
+ },
389334
+ required: ["guardId"],
389335
+ additionalProperties: false
389336
+ },
389337
+ agentToolConfig: {
389338
+ title: "AgentToolConfig",
389339
+ type: "object",
389340
+ properties: {
389341
+ name: {
389342
+ type: "string"
389343
+ },
389344
+ ref: {
389345
+ type: "string"
389346
+ },
389347
+ description: {
389348
+ type: "string"
389349
+ },
389350
+ args: {
389351
+ type: "array",
389352
+ items: {
389353
+ $ref: "#/definitions/agentToolConfigArg"
389354
+ }
389355
+ },
389356
+ selectionSet: {
389357
+ type: "string"
389358
+ }
389359
+ },
389360
+ required: ["name", "ref"],
389361
+ additionalProperties: false
389362
+ },
389363
+ agentToolConfigArg: {
389364
+ title: "Agent Tool Config Arg",
389365
+ type: "object",
389366
+ discriminator: {
389367
+ propertyName: "type"
389368
+ },
389369
+ oneOf: [
389370
+ {
389371
+ $ref: "#/definitions/agentToolConfigArgAgent"
389372
+ },
389373
+ {
389374
+ $ref: "#/definitions/agentToolConfigArgVariable"
389375
+ }
389376
+ ]
389377
+ },
389378
+ agentToolConfigArgAgent: {
389379
+ title: "Agent-Controlled",
389380
+ type: "object",
389381
+ properties: {
389382
+ type: {
389383
+ enum: ["agent"]
389384
+ },
389385
+ argName: {
389386
+ title: "Tool Argument Name",
389387
+ type: "string",
389388
+ description: "The argument name that will be exposed by the tool for the LLM to use."
389389
+ }
389390
+ },
389391
+ required: ["type", "argName"],
389392
+ additionalProperties: false
389393
+ },
389394
+ agentToolConfigArgVariable: {
389395
+ title: "Variable Value",
389396
+ type: "object",
389397
+ properties: {
389398
+ type: {
389399
+ enum: ["variable"]
389400
+ },
389401
+ argName: {
389402
+ title: "Tool Argument Name",
389403
+ type: "string",
389404
+ description: "Name of argument to pass value to. This prevents the LLM from setting the argument."
389405
+ },
389406
+ variableName: {
389407
+ title: "State Variable Name",
389408
+ type: "string",
389409
+ description: "Name of variable to pull value from."
389410
+ }
389411
+ },
389412
+ required: ["type", "argName", "variableName"],
389413
+ additionalProperties: false
389414
+ },
389415
+ agentExecutionGenerate: {
389416
+ title: "Agent Execution Generate",
389417
+ type: "object",
389418
+ properties: {
389419
+ type: {
389420
+ enum: ["generate"]
389421
+ },
389422
+ service: {
389423
+ type: "string"
389424
+ },
389425
+ model: {
389426
+ type: "string"
389427
+ },
389428
+ systemPrompt: {
389429
+ type: "string"
389430
+ },
389431
+ input: {
389432
+ $ref: "#/definitions/agentAiStateInput"
389433
+ },
389434
+ outputShape: {
389435
+ type: "string"
389436
+ },
389437
+ tools: {
389438
+ type: "array",
389439
+ items: {
389440
+ $ref: "#/definitions/agentToolConfig"
389441
+ }
389442
+ },
389443
+ options: {
389444
+ $ref: "#/definitions/agentGenerateOptions"
389445
+ }
389446
+ },
389447
+ required: ["type", "service", "model", "input"],
389448
+ additionalProperties: false
389449
+ },
389450
+ agentExecutionChat: {
389451
+ title: "Agent Execution Chat",
389452
+ type: "object",
389453
+ properties: {
389454
+ type: {
389455
+ enum: ["chat"]
389456
+ },
389457
+ service: {
389458
+ type: "string"
389459
+ },
389460
+ model: {
389461
+ type: "string"
389462
+ },
389463
+ systemPrompt: {
389464
+ type: "string"
389465
+ },
389466
+ input: {
389467
+ $ref: "#/definitions/agentAiStateInput"
389468
+ },
389469
+ artifact: {
389470
+ type: "string"
389471
+ },
389472
+ tools: {
389473
+ type: "array",
389474
+ items: {
389475
+ $ref: "#/definitions/agentToolConfig"
389476
+ }
389477
+ },
389478
+ options: {
389479
+ $ref: "#/definitions/agentGenerateOptions"
389480
+ }
389481
+ },
389482
+ required: ["type", "service", "model", "input"],
389483
+ additionalProperties: false
389484
+ },
389485
+ agentTransition: {
389486
+ title: "Agent Transition",
389487
+ description: "These steps are evaluated in order until a destination is found.",
389488
+ discriminator: {
389489
+ propertyName: "type"
389490
+ },
389491
+ oneOf: [
389492
+ {
389493
+ $ref: "#/definitions/agentTransitionImmediate"
389494
+ },
389495
+ {
389496
+ $ref: "#/definitions/agentTransitionSuspend"
389497
+ }
389498
+ ]
389499
+ },
389500
+ agentTransitionSuspend: {
389501
+ title: "Agent Transition Suspend",
389502
+ type: "object",
389503
+ properties: {
389504
+ type: {
389505
+ enum: ["suspend"]
389506
+ },
389507
+ destination: {
389508
+ type: "string",
389509
+ pattern: "^[0-9A-Za-z_]+$"
389510
+ },
389511
+ input: {
389512
+ type: "string"
389513
+ },
389514
+ condition: {
389515
+ type: "string"
389516
+ },
389517
+ limit: {
389518
+ type: "integer"
389519
+ },
389520
+ sessionMemory: {
389521
+ title: "Agent State Session Memory",
389522
+ type: "array",
389523
+ items: {
389524
+ $ref: "#/definitions/agentStateSessionMemoryAssignment"
389525
+ }
389526
+ },
389527
+ historyStrategy: {
389528
+ type: "string"
389529
+ }
389530
+ },
389531
+ additionalProperties: false,
389532
+ required: ["type", "destination", "input"]
389533
+ },
389534
+ agentTransitionImmediate: {
389535
+ title: "Agent Transition Immediate",
389536
+ type: "object",
389537
+ properties: {
389538
+ type: {
389539
+ enum: ["immediate"]
389540
+ },
389541
+ destination: {
389542
+ type: "string",
389543
+ pattern: "^[0-9A-Za-z_]+$"
389544
+ },
389545
+ condition: {
389546
+ type: "string"
389547
+ },
389548
+ limit: {
389549
+ type: "integer"
389550
+ },
389551
+ sessionMemory: {
389552
+ title: "Agent State Session Memory",
389553
+ type: "array",
389554
+ items: {
389555
+ $ref: "#/definitions/agentStateSessionMemoryAssignment"
389556
+ }
389557
+ },
389558
+ historyStrategy: {
389559
+ type: "string"
389560
+ }
389561
+ },
389562
+ additionalProperties: false,
389563
+ required: ["type", "destination"]
389564
+ },
389565
+ agentMap: {
389566
+ title: "Agent Map",
389567
+ type: "object",
389568
+ patternProperties: {
389569
+ "^[0-9A-Za-z_]+$": {
389570
+ $ref: "#/definitions/agent"
389571
+ }
389572
+ },
389573
+ additionalProperties: false
389574
+ },
389575
+ toolMap: {
389576
+ title: "Tool Map",
389577
+ type: "object",
389578
+ patternProperties: {
389579
+ "^[0-9A-Za-z_]+$": {
389580
+ $ref: "#/definitions/tool"
389581
+ }
389582
+ },
389583
+ additionalProperties: false
389584
+ },
389585
+ mcpConfig: {
389586
+ title: "MCP Server Configuration",
389587
+ type: "object",
389588
+ properties: {
389589
+ tools: {
389590
+ $ref: "#/definitions/toolMap",
389591
+ description: "A Tool is a configuration for an AI tool which can query or mutate data."
389592
+ }
389593
+ },
389594
+ additionalProperties: false
389595
+ },
389596
+ aiRunAgentResolver: {
389597
+ title: "AISendAgentMessageResolver",
389598
+ type: "object",
389599
+ properties: {
389600
+ id: {
389601
+ type: "string",
389602
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
389603
+ },
389604
+ name: {
389605
+ title: "AI Resolver Name",
389606
+ type: "string",
389607
+ description: "Name of the resolver function.",
389608
+ enum: ["ai:sendAgentMessage"]
389609
+ },
389610
+ agentName: {
389611
+ type: "string",
389612
+ pattern: "^[0-9A-Za-z_]+$"
389613
+ },
389614
+ inputName: {
389615
+ type: "string",
389616
+ pattern: "^[0-9A-Za-z_]+$"
389617
+ }
389618
+ },
389619
+ required: ["name", "agentName", "inputName"],
389620
+ additionalProperties: false
389621
+ },
389622
+ aiGetAgentMessageResolver: {
389623
+ title: "AIGetAgentMessageResolver",
389624
+ type: "object",
389625
+ properties: {
389626
+ id: {
389627
+ type: "string",
389628
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
389629
+ },
389630
+ name: {
389631
+ title: "AI Resolver Name",
389632
+ type: "string",
389633
+ description: "Name of the resolver function.",
389634
+ enum: ["ai:getAgentMessage"]
389635
+ },
389636
+ agentName: {
389637
+ type: "string",
389638
+ pattern: "^[0-9A-Za-z_]+$"
389639
+ }
389640
+ },
389641
+ required: ["name", "agentName"],
389642
+ additionalProperties: false
389643
+ },
389644
+ aiAbortAgentMessageResolver: {
389645
+ title: "AIAbortAgentMessageResolver",
389646
+ type: "object",
389647
+ properties: {
389648
+ id: {
389649
+ type: "string",
389650
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
389651
+ },
389652
+ name: {
389653
+ title: "AI Resolver Name",
389654
+ type: "string",
389655
+ description: "Name of the resolver function.",
389656
+ enum: ["ai:abortAgentMessage"]
389657
+ },
389658
+ agentName: {
389659
+ type: "string",
389660
+ pattern: "^[0-9A-Za-z_]+$"
389661
+ }
389662
+ },
389663
+ required: ["name", "agentName"],
389664
+ additionalProperties: false
389665
+ },
389666
+ aiSendAgentFeedbackResolver: {
389667
+ title: "AISendAgentFeedbackResolver",
389668
+ type: "object",
389669
+ properties: {
389670
+ id: {
389671
+ type: "string",
389672
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
389673
+ },
389674
+ name: {
389675
+ title: "AI Resolver Name",
389676
+ type: "string",
389677
+ description: "Name of the resolver function.",
389678
+ enum: ["ai:sendAgentFeedback"]
389679
+ },
389680
+ agentName: {
389681
+ type: "string",
389682
+ pattern: "^[0-9A-Za-z_]+$"
389683
+ }
389684
+ },
389685
+ required: ["name", "agentName"],
389686
+ additionalProperties: false
389687
+ },
389688
+ guard: {
389689
+ title: "GuardJSON",
389690
+ description: "A Guard is a configuration for an AI guardrail that can check inputs and outputs and provide safety and compliance.",
389691
+ type: "object",
389692
+ properties: {
389693
+ name: {
389694
+ type: "string",
389695
+ title: "Name",
389696
+ description: "The human-readable name of the Guard."
389697
+ },
389698
+ description: {
389699
+ type: "string",
389700
+ title: "Description",
389701
+ description: "A description of the Guard."
389702
+ },
389703
+ enabled: {
389704
+ type: "boolean",
389705
+ title: "Enabled",
389706
+ description: "Guards will not run unless enabled.",
389707
+ default: true
389708
+ },
389709
+ guardrailIdentifier: {
389710
+ type: "string",
389711
+ title: "Guardrail Identifier",
389712
+ description: "The remote id of the Guardrail."
389713
+ },
389714
+ guardrailVersion: {
389715
+ type: "string",
389716
+ title: "Guardrail Version",
389717
+ description: "The remote version of the Guardrail."
389718
+ },
389719
+ blockedInputMessaging: {
389720
+ type: "string",
389721
+ title: "Blocked Input Messaging",
389722
+ description: "A message to return when the input message is blocked by the Guard."
389723
+ },
389724
+ blockedOutputsMessaging: {
389725
+ type: "string",
389726
+ title: "Blocked Outputs Messaging",
389727
+ description: "A message to return when the output message is blocked by the Guard."
389728
+ },
389729
+ topicPolicyConfig: {
389730
+ type: "object",
389731
+ title: "Topic Policy",
389732
+ description: "Topics to identify and block.",
389733
+ properties: {
389734
+ topicsConfig: {
389735
+ title: "Topic",
389736
+ description: "A topic to block.",
389737
+ type: "array",
389738
+ items: {
389739
+ type: "object",
389740
+ properties: {
389741
+ name: {
389742
+ type: "string"
389743
+ },
389744
+ definition: {
389745
+ type: "string"
389746
+ },
389747
+ examples: {
389748
+ description: "Examples of the topic that can hint the LLM.",
389749
+ type: "array",
389750
+ items: {
389751
+ title: "Example",
389752
+ type: "string"
389753
+ },
389754
+ minItems: 1
389755
+ },
389756
+ type: {
389757
+ type: "string",
389758
+ enum: ["DENY"]
389759
+ }
389760
+ },
389761
+ required: ["name", "definition", "type"],
389762
+ additionalProperties: false
389763
+ },
389764
+ minItems: 1
389765
+ }
389766
+ },
389767
+ required: ["topicsConfig"],
389768
+ additionalProperties: false
389769
+ },
389770
+ contentPolicyConfig: {
389771
+ type: "object",
389772
+ title: "Content Policy",
389773
+ description: "Types of content to filter and strength configuration.",
389774
+ properties: {
389775
+ filtersConfig: {
389776
+ title: "Filter",
389777
+ description: "Types of content to filter.",
389778
+ type: "array",
389779
+ items: {
389780
+ type: "object",
389781
+ properties: {
389782
+ type: {
389783
+ type: "string",
389784
+ enum: ["HATE", "INSULTS", "MICONDUCT", "PROMPT_ATTACK", "SEXUAL", "VIOLENCE"]
389785
+ },
389786
+ inputStrength: {
389787
+ title: "Input Strength",
389788
+ type: "string",
389789
+ enum: ["NONE", "LOW", "MEDIUM", "HIGH"]
389790
+ },
389791
+ outputStrength: {
389792
+ title: "Output Strength",
389793
+ type: "string",
389794
+ enum: ["NONE", "LOW", "MEDIUM", "HIGH"]
389795
+ },
389796
+ inputModalities: {
389797
+ title: "Input Modalities",
389798
+ description: "Whether to filter images or text",
389799
+ type: "array",
389800
+ items: {
389801
+ $ref: "#/definitions/guardrailModality"
389802
+ },
389803
+ minItems: 1
389804
+ },
389805
+ outputModalities: {
389806
+ title: "Output Modalities",
389807
+ description: "Whether to filter images or text",
389808
+ type: "array",
389809
+ items: {
389810
+ $ref: "#/definitions/guardrailModality"
389811
+ },
389812
+ minItems: 1
389813
+ }
389814
+ },
389815
+ required: ["type", "inputStrength", "outputStrength"],
389816
+ additionalProperties: false
389817
+ },
389818
+ minItems: 1
389819
+ }
389820
+ },
389821
+ required: ["filtersConfig"],
389822
+ additionalProperties: false
389823
+ },
389824
+ wordPolicyConfig: {
389825
+ type: "object",
389826
+ title: "Word Policy",
389827
+ description: "Specific words to identify and block.",
389828
+ properties: {
389829
+ wordsConfig: {
389830
+ title: "Word List",
389831
+ description: "Specific words to block.",
389832
+ type: "array",
389833
+ items: {
389834
+ type: "object",
389835
+ properties: {
389836
+ text: {
389837
+ type: "string"
389838
+ }
389839
+ },
389840
+ required: ["text"],
389841
+ additionalProperties: false
389842
+ },
389843
+ minItems: 1
389844
+ },
389845
+ managedWordListsConfig: {
389846
+ title: "Managed Word List",
389847
+ description: "This is solely used for blocking profanity.",
389848
+ type: "array",
389849
+ items: {
389850
+ type: "object",
389851
+ properties: {
389852
+ type: {
389853
+ type: "string",
389854
+ enum: ["PROFANITY"]
389855
+ }
389856
+ },
389857
+ required: ["type"],
389858
+ additionalProperties: false
389859
+ },
389860
+ minItems: 1
389861
+ }
389862
+ },
389863
+ additionalProperties: false
389864
+ },
389865
+ sensitiveInformationPolicyConfig: {
389866
+ title: "Sensitive Information Policy",
389867
+ description: "Filter out and block or obscure sensitive information. Matching text will be handled per the policy.",
389868
+ type: "object",
389869
+ properties: {
389870
+ piiEntitiesConfig: {
389871
+ title: "PII Entity",
389872
+ description: "PII entity to infer from the text.",
389873
+ type: "array",
389874
+ items: {
389875
+ type: "object",
389876
+ properties: {
389877
+ type: {
389878
+ type: "string",
389879
+ enum: [
389880
+ "ADDRESS",
389881
+ "AGE",
389882
+ "AWS_ACCESS_KEY",
389883
+ "AWS_SECRET_KEY",
389884
+ "CA_HEALTH_NUMBER",
389885
+ "CA_SOCIAL_INSURANCE_NUMBER",
389886
+ "CREDIT_DEBIT_CARD_CVV",
389887
+ "CREDIT_DEBIT_CARD_EXPIRY",
389888
+ "CREDIT_DEBIT_CARD_NUMBER",
389889
+ "DRIVER_ID",
389890
+ "EMAIL",
389891
+ "INTERNATIONAL_BANK_ACCOUNT_NUMBER",
389892
+ "IP_ADDRESS",
389893
+ "LICENSE_PLATE",
389894
+ "MAC_ADDRESS",
389895
+ "NAME",
389896
+ "PASSWORD",
389897
+ "PHONE",
389898
+ "PIN",
389899
+ "SWIFT_CODE",
389900
+ "UK_NATIONAL_HEALTH_SERVICE_NUMBER",
389901
+ "UK_NATIONAL_INSURANCE_NUMBER",
389902
+ "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER",
389903
+ "URL",
389904
+ "USERNAME",
389905
+ "US_BANK_ACCOUNT_NUMBER",
389906
+ "US_BANK_ROUTING_NUMBER",
389907
+ "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER",
389908
+ "US_PASSPORT_NUMBER",
389909
+ "US_SOCIAL_SECURITY_NUMBER",
389910
+ "VEHICLE_IDENTIFICATION_NUMBER"
389911
+ ]
389912
+ },
389913
+ action: {
389914
+ $ref: "#/definitions/guardrailSensitiveInformationAction"
389915
+ }
389916
+ },
389917
+ required: ["type", "action"],
389918
+ additionalProperties: false
389919
+ },
389920
+ minItems: 1
389921
+ },
389922
+ regexesConfig: {
389923
+ title: "Regular Expression",
389924
+ description: "A regular expression to match sensitive information.",
389925
+ type: "array",
389926
+ items: {
389927
+ type: "object",
389928
+ properties: {
389929
+ name: {
389930
+ type: "string"
389931
+ },
389932
+ description: {
389933
+ type: "string"
389934
+ },
389935
+ pattern: {
389936
+ type: "string"
389937
+ },
389938
+ action: {
389939
+ $ref: "#/definitions/guardrailSensitiveInformationAction"
389940
+ }
389941
+ },
389942
+ required: ["name", "pattern", "action"],
389943
+ additionalProperties: false
389944
+ },
389945
+ minItems: 1
389946
+ }
389947
+ },
389948
+ additionalProperties: false
389949
+ },
389950
+ contextualGroundingPolicyConfig: {
389951
+ title: "Contextual Grounding Policy",
389952
+ description: "Provides evaluations based on grounding text supplied by your in-context agent variables. Off-topic conversations can then be blocked.",
389953
+ type: "object",
389954
+ properties: {
389955
+ filtersConfig: {
389956
+ title: "Filter",
389957
+ description: "Filter to evaluate grounding text.",
389958
+ type: "array",
389959
+ items: {
389960
+ type: "object",
389961
+ properties: {
389962
+ type: {
389963
+ title: "Type",
389964
+ description: "The type of filter.",
389965
+ type: "string",
389966
+ enum: ["GROUNDING", "RELEVANCE"]
389967
+ },
389968
+ threshold: {
389969
+ title: "Threshold",
389970
+ description: "The threshold for the filter as a floating point value greater than 0.0 and less than 1.0.",
389971
+ type: "number",
389972
+ multipleOf: 0.01,
389973
+ exclusiveMinimum: 0,
389974
+ exclusiveMaximum: 1
389975
+ }
389976
+ },
389977
+ required: ["type", "threshold"],
389978
+ additionalProperties: false
389979
+ },
389980
+ minItems: 1
389981
+ }
389982
+ },
389983
+ required: ["filtersConfig"],
389984
+ additionalProperties: false
389985
+ }
389986
+ },
389987
+ required: ["name"],
389988
+ additionalProperties: false
389989
+ },
389990
+ guardMap: {
389991
+ title: "GuardMap",
389992
+ type: "object",
389993
+ patternProperties: {
389994
+ "^[0-9A-Za-z_]+$": {
389995
+ $ref: "#/definitions/guard"
389996
+ }
389997
+ },
389998
+ additionalProperties: false
389999
+ },
390000
+ guardrailModality: {
390001
+ title: "Guardrail Modality",
390002
+ type: "string",
390003
+ enum: ["TEXT", "IMAGE"]
390004
+ },
390005
+ guardrailSensitiveInformationAction: {
390006
+ title: "Guardrail Sensitive Information Action",
390007
+ type: "string",
390008
+ enum: ["ANONYMIZE", "BLOCK"]
390009
+ },
390010
+ aiInspectAgentResolver: {
390011
+ title: "AIInspectAgentResolver",
390012
+ type: "object",
390013
+ properties: {
390014
+ id: {
390015
+ type: "string",
390016
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
390017
+ },
390018
+ name: {
390019
+ title: "AI Resolver Name",
390020
+ type: "string",
390021
+ description: "Name of the resolver function.",
390022
+ enum: ["ai:inspectAgent"]
390023
+ },
390024
+ agentName: {
390025
+ type: "string",
390026
+ pattern: "^[0-9A-Za-z_]+$"
390027
+ }
390028
+ },
390029
+ required: ["name", "agentName"],
390030
+ additionalProperties: false
390031
+ },
390032
+ aiCreateAgentSessionResolver: {
390033
+ title: "AICreateAgentSessionResolver",
390034
+ type: "object",
390035
+ properties: {
390036
+ id: {
390037
+ type: "string",
390038
+ pattern: "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
390039
+ },
390040
+ name: {
390041
+ title: "AI Resolver Name",
390042
+ type: "string",
390043
+ description: "Name of the resolver function.",
390044
+ enum: ["ai:createAgentSession"]
390045
+ },
390046
+ agentName: {
390047
+ type: "string",
390048
+ pattern: "^[0-9A-Za-z_]+$"
390049
+ }
390050
+ },
390051
+ required: ["name", "agentName"],
390052
+ additionalProperties: false
390053
+ },
390054
+ removePropertyKeyPatterns: {
390055
+ type: "array",
390056
+ items: {
390057
+ title: "Minimatch Pattern",
390058
+ type: "string"
390059
+ },
390060
+ title: "Remove Property Key Patterns",
390061
+ description: "Remove properties from the schema sent to the model with keys matching these minimatch glob patterns."
390062
+ }
390063
+ },
390064
+ properties: {
390065
+ $schema: {
390066
+ type: "string"
390067
+ },
390068
+ apiVersion: {
390069
+ type: "string",
390070
+ description: "The version of the TakeShape API your project is using. We increase the version as we make breaking changes to the API endpoints."
390071
+ },
390072
+ schemaVersion: {
390073
+ type: "string",
390074
+ enum: ["3.57.0"],
390075
+ description: "The version of the schema format your project is using. We increase the version as we make breaking changes to the schema format."
390076
+ },
390077
+ projectId: {
390078
+ type: "string",
390079
+ description: "The ID of the TakeShape project this schema belongs to."
390080
+ },
390081
+ author: {
390082
+ type: "string",
390083
+ description: "The ID of the TakeShape user who created the schema."
390084
+ },
390085
+ deactivated: {
390086
+ type: "number"
390087
+ },
390088
+ defaultLocale: {
390089
+ type: "string",
390090
+ minLength: 1,
390091
+ pattern: "^[a-zA-Z]{2,3}(-[a-zA-Z]{2,3})?$",
390092
+ description: "The locale that should be preferred when creating new Shape items. This must be an entry in the locales array."
390093
+ },
390094
+ locales: {
390095
+ type: "array",
390096
+ minItems: 1,
390097
+ items: {
390098
+ type: "string",
390099
+ minLength: 1,
390100
+ pattern: "^[a-zA-Z]{2,3}(-[a-zA-Z]{2,3})?$"
390101
+ }
390102
+ },
390103
+ queries: {
390104
+ $ref: "#/definitions/queryMap",
390105
+ description: "Queries map directly to queries your project's GraphQL API"
390106
+ },
390107
+ mutations: {
390108
+ $ref: "#/definitions/queryMap",
390109
+ description: "Mutations map directly to mutations your project's GraphQL API"
390110
+ },
390111
+ shapes: {
390112
+ $ref: "#/definitions/shapeMap",
390113
+ description: "A Shape is a schema object for structuring and storing data from one or more sources, including the TakeShape data store and connected services."
390114
+ },
390115
+ forms: {
390116
+ $ref: "#/definitions/formMap",
390117
+ description: "Forms define a visual interface for editing Shapes in the TakeShape UI."
390118
+ },
390119
+ workflows: {
390120
+ $ref: "#/definitions/workflowMap",
390121
+ description: "Workflows describe the status of a shape item. Every schema starts with a default workflow with two steps, Disabled and Enabled"
390122
+ },
390123
+ services: {
390124
+ $ref: "#/definitions/storedServiceMap",
390125
+ description: "By connecting new Services to your project schema, you can add shapes, queries, and mutations from 3rd party sources to your API in TakeShape. This allows you to mesh together exactly the API you need to interact with all of the services your app or business depends upon. Services use an encrypted configuration to keep auth tokens secret. For this reason, services can only be added to a schema through the web client or through the Admin API."
390126
+ },
390127
+ agents: {
390128
+ $ref: "#/definitions/agentMap",
390129
+ description: "An Agent is a configuration for an AI service such as a chat bot or a search engine."
390130
+ },
390131
+ guards: {
390132
+ $ref: "#/definitions/guardMap",
390133
+ description: "A Guard is a configuration for an AI guardrail that can check inputs and outputs and provide safety and compliance."
390134
+ },
390135
+ mcp: {
390136
+ $ref: "#/definitions/mcpConfig",
390137
+ description: "MCP server configuration"
390138
+ }
390139
+ },
390140
+ additionalProperties: false,
390141
+ required: [
390142
+ "projectId",
390143
+ "apiVersion",
390144
+ "schemaVersion",
390145
+ "defaultLocale",
390146
+ "locales",
390147
+ "shapes",
390148
+ "queries",
390149
+ "mutations",
390150
+ "workflows"
390151
+ ]
390152
+ };
390153
+
385332
390154
  // ../schema/dist/schemas/project-schema/v4.0.0.json
385333
390155
  var v4_0_0_default = {
385334
390156
  $schema: "http://json-schema.org/draft-07/schema#",
@@ -387648,7 +392470,7 @@ var v4_0_0_default = {
387648
392470
  };
387649
392471
 
387650
392472
  // ../schema/dist/schemas/index.js
387651
- var CURRENT_SCHEMA_VERSION = "3.57.0";
392473
+ var CURRENT_SCHEMA_VERSION = "3.58.0";
387652
392474
  var allProjectSchemas = [
387653
392475
  experimental_2025_07_default,
387654
392476
  meta_schema_v1_0_0_default,
@@ -387729,6 +392551,7 @@ var allProjectSchemas = [
387729
392551
  v3_55_0_default,
387730
392552
  v3_56_0_default,
387731
392553
  v3_57_0_default,
392554
+ v3_58_0_default,
387732
392555
  v4_0_0_default
387733
392556
  ];
387734
392557
 
@@ -387739,7 +392562,7 @@ function isBasicResolver(resolver) {
387739
392562
  function isComposeResolver(resolver) {
387740
392563
  return Boolean((0, import_isArray.default)(resolver?.compose) && resolver.compose.length && resolver.compose.every(isBasicResolver));
387741
392564
  }
387742
- var { definitions: { takeshapeResolver, shapedbResolver, utilResolver, graphqlResolver, restResolver, awsLambdaResolver } } = v3_57_0_default;
392565
+ var { definitions: { takeshapeResolver, shapedbResolver, utilResolver, graphqlResolver, restResolver, awsLambdaResolver } } = v3_58_0_default;
387743
392566
  var aiResolverNames = ["ai:generateText", "ai:chat"];
387744
392567
  function isAIResolverName(name) {
387745
392568
  return name ? aiResolverNames.includes(name) : false;
@@ -387747,7 +392570,7 @@ function isAIResolverName(name) {
387747
392570
  function isAIResolver(resolver) {
387748
392571
  return isBasicResolver(resolver) && isAIResolverName(resolver.name);
387749
392572
  }
387750
- var { definitions: { parameterSerializeStyleOptionsForSearchParams, parameterSerializeStyleOptionsForPathParams } } = v3_57_0_default;
392573
+ var { definitions: { parameterSerializeStyleOptionsForSearchParams, parameterSerializeStyleOptionsForPathParams } } = v3_58_0_default;
387751
392574
  function isRefSchema(propertySchema2) {
387752
392575
  return (0, import_isString3.default)(propertySchema2["@ref"]) || (0, import_isString3.default)(propertySchema2.$ref);
387753
392576
  }
@@ -389197,7 +394020,7 @@ function formatError5(error) {
389197
394020
  // ../schema/dist/services/services.js
389198
394021
  function createServiceConfigValidator() {
389199
394022
  const validator = createAjv();
389200
- const { serviceConfig, ...definitions } = v3_57_0_default.definitions;
394023
+ const { serviceConfig, ...definitions } = v3_58_0_default.definitions;
389201
394024
  return validator.compile({
389202
394025
  $id: "ServiceConfig",
389203
394026
  definitions,
@@ -390980,7 +395803,8 @@ var isProjectSchemaJSONV3_54_0 = createVersionPredicate2("3.54.0");
390980
395803
  var isProjectSchemaJSONV3_55_0 = createVersionPredicate2("3.55.0");
390981
395804
  var isProjectSchemaJSONV3_56_0 = createVersionPredicate2("3.56.0");
390982
395805
  var isProjectSchemaJSONV3_57_0 = createVersionPredicate2("3.57.0");
390983
- var isLatestProjectSchemaJSON = createVersionPredicate2("3.57.0");
395806
+ var isProjectSchemaJSONV3_58_0 = createVersionPredicate2("3.58.0");
395807
+ var isLatestProjectSchemaJSON = createVersionPredicate2("3.58.0");
390984
395808
  var isProjectSchemaJSONV4_0_0 = createVersionPredicate2("4.0.0");
390985
395809
 
390986
395810
  // ../schema/dist/relationships.js
@@ -393739,7 +398563,7 @@ async function validateSchema(context, obj2) {
393739
398563
  return invalidVersionResult;
393740
398564
  }
393741
398565
  const structuralValidation = validateStructure(schemaVersion, contextWithDefaults, obj2);
393742
- if (!structuralValidation.valid) {
398566
+ if (!structuralValidation.valid || context.structureOnly) {
393743
398567
  return structuralValidation;
393744
398568
  }
393745
398569
  const { schema: schema22 } = structuralValidation;