@takeshape/schema 11.105.1 → 11.106.1

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 (89) hide show
  1. package/dist/agents.d.ts +4 -4
  2. package/dist/agents.js +4 -4
  3. package/dist/migration/index.d.ts +1 -0
  4. package/dist/migration/index.js +3 -1
  5. package/dist/migration/to/v3.57.0.d.ts +4 -0
  6. package/dist/migration/to/v3.57.0.js +18 -0
  7. package/dist/migration/types.d.ts +7 -4
  8. package/dist/migration/types.js +3 -3
  9. package/dist/project-schema/index.d.ts +4 -1
  10. package/dist/project-schema/index.js +2 -1
  11. package/dist/project-schema/latest.d.ts +452 -260
  12. package/dist/project-schema/migrate.js +4 -1
  13. package/dist/project-schema/v3.57.0.d.ts +2597 -0
  14. package/dist/project-schema/v3.57.0.js +7 -0
  15. package/dist/refs.js +2 -2
  16. package/dist/schema-util.d.ts +2 -2
  17. package/dist/schemas/index.d.ts +2 -2
  18. package/dist/schemas/index.js +5 -3
  19. package/dist/schemas/project-schema/{experimental.json → experimental-2025-07.json} +1 -2
  20. package/dist/schemas/project-schema/latest.d.ts +180 -0
  21. package/dist/schemas/project-schema/latest.js +11 -0
  22. package/dist/schemas/project-schema/latest.json +1292 -12
  23. package/dist/schemas/project-schema/v3.48.0.json +2 -2
  24. package/dist/schemas/project-schema/v3.49.0.json +2 -2
  25. package/dist/schemas/project-schema/v3.50.0.json +3 -3
  26. package/dist/schemas/project-schema/v3.51.0.json +3 -3
  27. package/dist/schemas/project-schema/v3.52.0.json +3 -3
  28. package/dist/schemas/project-schema/v3.53.0.json +3 -3
  29. package/dist/schemas/project-schema/v3.54.0.json +3 -3
  30. package/dist/schemas/project-schema/v3.55.0.json +3 -3
  31. package/dist/schemas/project-schema/v3.56.0.json +7 -7
  32. package/dist/schemas/project-schema/v3.57.0.json +4810 -0
  33. package/dist/schemas/project-schema.json +3 -0
  34. package/dist/util/mcp.d.ts +1 -1
  35. package/dist/util/mcp.js +2 -2
  36. package/dist/validate/validate.d.ts +2 -1
  37. package/dist/validate/validate.js +15 -13
  38. package/examples/latest/agent-schema.json +174 -176
  39. package/examples/latest/all-fields-shapes-inline.json +1 -1
  40. package/examples/latest/all-fields-shapes.json +1 -1
  41. package/examples/latest/betzino.json +1 -1
  42. package/examples/latest/blog-schema.json +1 -1
  43. package/examples/latest/brewery-schema.json +1 -1
  44. package/examples/latest/clear-cache-schema.json +1 -1
  45. package/examples/latest/complex-project-schema.json +1 -1
  46. package/examples/latest/complex-schema.json +1 -1
  47. package/examples/latest/edit-schema.json +1 -1
  48. package/examples/latest/fabric-ecommerce.json +1 -1
  49. package/examples/latest/frank-and-fred-schema.json +1 -1
  50. package/examples/latest/klirr-schema.json +1 -1
  51. package/examples/latest/layers/rick-and-morty-layer.json +1 -1
  52. package/examples/latest/layers/shopify-layer-2023-01.json +1 -1
  53. package/examples/latest/layers/shopify-storefront-2023-04.json +1 -1
  54. package/examples/latest/layers/wordpress-2024-01.json +1 -1
  55. package/examples/latest/massive-schema.json +1 -1
  56. package/examples/latest/mill-components-schema.json +1 -1
  57. package/examples/latest/nested-shape-arrays.json +1 -1
  58. package/examples/latest/one-earth.json +1 -1
  59. package/examples/latest/pet-oneof-array.json +1 -1
  60. package/examples/latest/post-schema.json +1 -1
  61. package/examples/latest/pruned-shopify-product-schema.json +1 -1
  62. package/examples/latest/rag-example.json +1 -1
  63. package/examples/latest/real-world-schema.json +1 -1
  64. package/examples/latest/recursive-repeater-schema.json +1 -1
  65. package/examples/latest/recursive-schema.json +1 -1
  66. package/examples/latest/rick-and-morty-ast.json +1 -1
  67. package/examples/latest/rick-and-morty-graphql.json +1 -1
  68. package/examples/latest/rick-and-morty-rest.json +1 -1
  69. package/examples/latest/rick-and-morty-user-schema.json +1 -1
  70. package/examples/latest/rick-and-morty-with-indexing.json +1 -1
  71. package/examples/latest/schema-where-filter.json +1 -1
  72. package/examples/latest/schema-with-repeater-draftjs.json +1 -1
  73. package/examples/latest/schema-with-rick-and-morty.json +1 -1
  74. package/examples/latest/shape-books-v3_2_0.json +1 -1
  75. package/examples/latest/shape-books.json +1 -1
  76. package/examples/latest/shape-editor-schema-edited.json +1 -1
  77. package/examples/latest/shape-editor-schema-initial.json +1 -1
  78. package/examples/latest/shapedb-crud-every-prop-type.json +1 -1
  79. package/examples/latest/shopify-lookbook.json +1 -1
  80. package/examples/latest/shopify-product-2022-07.json +1 -1
  81. package/examples/latest/shopify-product-2023-04.json +1 -1
  82. package/examples/latest/shopify-store-with-widget.json +1 -1
  83. package/examples/latest/stripe-product-runtime-schema.json +1 -1
  84. package/examples/latest/stripe-starter-resolved.json +1 -1
  85. package/examples/latest/user-schema-no-required.json +1 -1
  86. package/examples/latest/user-schema-with-defaults.json +1 -1
  87. package/examples/latest/valvoline-ai-demo.json +1 -1
  88. package/examples/latest/vector-search-schema.json +1 -1
  89. package/package.json +27 -28
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://schema.takeshape.io/project-schema/v3.56.0#",
3
+ "$id": "https://schema.takeshape.io/project-schema/v3.57.0#",
4
4
  "title": "Project Schema JSON",
5
5
  "definitions": {
6
6
  "schemaArray": {
@@ -939,22 +939,22 @@
939
939
  "$ref": "#/definitions/utilChunkResolver"
940
940
  },
941
941
  {
942
- "$ref": "https://schema.takeshape.io/project-schema/experimental#/definitions/aiRunAgentResolver"
942
+ "$ref": "#/definitions/aiRunAgentResolver"
943
943
  },
944
944
  {
945
- "$ref": "https://schema.takeshape.io/project-schema/experimental#/definitions/aiInspectAgentResolver"
945
+ "$ref": "#/definitions/aiInspectAgentResolver"
946
946
  },
947
947
  {
948
- "$ref": "https://schema.takeshape.io/project-schema/experimental#/definitions/aiCreateAgentSessionResolver"
948
+ "$ref": "#/definitions/aiCreateAgentSessionResolver"
949
949
  },
950
950
  {
951
- "$ref": "https://schema.takeshape.io/project-schema/experimental#/definitions/aiGetAgentMessageResolver"
951
+ "$ref": "#/definitions/aiGetAgentMessageResolver"
952
952
  },
953
953
  {
954
- "$ref": "https://schema.takeshape.io/project-schema/experimental#/definitions/aiAbortAgentMessageResolver"
954
+ "$ref": "#/definitions/aiAbortAgentMessageResolver"
955
955
  },
956
956
  {
957
- "$ref": "https://schema.takeshape.io/project-schema/experimental#/definitions/aiSendAgentFeedbackResolver"
957
+ "$ref": "#/definitions/aiSendAgentFeedbackResolver"
958
958
  }
959
959
  ]
960
960
  },
@@ -3445,6 +3445,1278 @@
3445
3445
  }
3446
3446
  },
3447
3447
  "required": ["default"]
3448
+ },
3449
+ "agent": {
3450
+ "title": "Agent JSON",
3451
+ "description": "An Agent is a configuration for an AI service such as a chat bot or a search engine.",
3452
+ "type": "object",
3453
+ "properties": {
3454
+ "description": {
3455
+ "type": "string"
3456
+ },
3457
+ "systemPrompt": {
3458
+ "type": "string"
3459
+ },
3460
+ "api": {
3461
+ "$ref": "#/definitions/agentApi"
3462
+ },
3463
+ "memory": {
3464
+ "$ref": "#/definitions/agentMemory"
3465
+ },
3466
+ "start": {
3467
+ "$ref": "#/definitions/agentStart"
3468
+ },
3469
+ "states": {
3470
+ "$ref": "#/definitions/agentStateMap"
3471
+ },
3472
+ "guards": {
3473
+ "type": "array",
3474
+ "items": {
3475
+ "$ref": "#/definitions/agentGuard"
3476
+ }
3477
+ },
3478
+ "historyStrategies": {
3479
+ "$ref": "#/definitions/historyStrategyMap"
3480
+ }
3481
+ },
3482
+ "required": ["start", "states", "api"],
3483
+ "additionalProperties": false
3484
+ },
3485
+ "historyStrategyMap": {
3486
+ "title": "History Strategy Map",
3487
+ "type": "object",
3488
+ "patternProperties": {
3489
+ "^[0-9A-Za-z_]+$": {
3490
+ "$ref": "#/definitions/historyStrategy"
3491
+ }
3492
+ },
3493
+ "additionalProperties": false
3494
+ },
3495
+ "historyStrategy": {
3496
+ "title": "History Strategy",
3497
+ "type": "object",
3498
+ "properties": {
3499
+ "name": {
3500
+ "type": "string"
3501
+ },
3502
+ "variables": {
3503
+ "title": "Variables",
3504
+ "type": "array",
3505
+ "items": {
3506
+ "$ref": "#/definitions/agentVariable"
3507
+ }
3508
+ },
3509
+ "filter": {
3510
+ "$ref": "#/definitions/historyStrategyFilter"
3511
+ },
3512
+ "transform": {
3513
+ "$ref": "#/definitions/historyStrategyTransform"
3514
+ }
3515
+ },
3516
+ "required": ["name", "transform"],
3517
+ "additionalProperties": false
3518
+ },
3519
+ "historyStrategyFilter": {
3520
+ "title": "History Strategy Filter",
3521
+ "type": "object",
3522
+ "properties": {
3523
+ "toolCalls": {
3524
+ "enum": ["retain", "clear"]
3525
+ }
3526
+ },
3527
+ "additionalProperties": false
3528
+ },
3529
+ "historyStrategyTransform": {
3530
+ "title": "History Strategy Transform",
3531
+ "discriminator": {
3532
+ "propertyName": "type"
3533
+ },
3534
+ "oneOf": [
3535
+ {
3536
+ "$ref": "#/definitions/historyStrategyTransformNone"
3537
+ },
3538
+ {
3539
+ "$ref": "#/definitions/historyStrategyTransformReplace"
3540
+ },
3541
+ {
3542
+ "$ref": "#/definitions/historyStrategyTransformSummarize"
3543
+ }
3544
+ ]
3545
+ },
3546
+ "historyStrategyTransformNone": {
3547
+ "title": "History Strategy Transform None",
3548
+ "type": "object",
3549
+ "properties": {
3550
+ "type": {
3551
+ "enum": ["none"]
3552
+ }
3553
+ },
3554
+ "required": ["type"],
3555
+ "additionalProperties": false
3556
+ },
3557
+ "historyStrategyTransformReplace": {
3558
+ "title": "History Strategy Transform Replace",
3559
+ "type": "object",
3560
+ "properties": {
3561
+ "type": {
3562
+ "enum": ["replace"]
3563
+ },
3564
+ "template": {
3565
+ "type": "string"
3566
+ }
3567
+ },
3568
+ "required": ["type", "template"],
3569
+ "additionalProperties": false
3570
+ },
3571
+ "historyStrategyTransformSummarize": {
3572
+ "title": "History Strategy Transform Summarize",
3573
+ "type": "object",
3574
+ "properties": {
3575
+ "type": {
3576
+ "enum": ["generate"]
3577
+ },
3578
+ "service": {
3579
+ "type": "string"
3580
+ },
3581
+ "model": {
3582
+ "type": "string"
3583
+ },
3584
+ "systemPrompt": {
3585
+ "type": "string"
3586
+ },
3587
+ "tools": {
3588
+ "type": "array",
3589
+ "items": {
3590
+ "$ref": "#/definitions/agentToolConfig"
3591
+ }
3592
+ },
3593
+ "options": {
3594
+ "$ref": "#/definitions/agentGenerateOptions"
3595
+ }
3596
+ },
3597
+ "required": ["type", "service", "model", "systemPrompt"],
3598
+ "additionalProperties": false
3599
+ },
3600
+ "tool": {
3601
+ "title": "Tool JSON",
3602
+ "type": "object",
3603
+ "properties": {
3604
+ "name": {
3605
+ "type": "string"
3606
+ },
3607
+ "ref": {
3608
+ "type": "string"
3609
+ },
3610
+ "description": {
3611
+ "type": "string"
3612
+ },
3613
+ "args": {
3614
+ "type": "array",
3615
+ "items": {
3616
+ "$ref": "#/definitions/toolArg"
3617
+ }
3618
+ },
3619
+ "selectionSet": {
3620
+ "type": "string"
3621
+ }
3622
+ },
3623
+ "required": ["name", "ref"],
3624
+ "additionalProperties": false
3625
+ },
3626
+ "toolArg": {
3627
+ "title": "Tool Arg",
3628
+ "type": "object",
3629
+ "discriminator": {
3630
+ "propertyName": "type"
3631
+ },
3632
+ "oneOf": [
3633
+ {
3634
+ "$ref": "#/definitions/agentToolConfigArgAgent"
3635
+ }
3636
+ ]
3637
+ },
3638
+ "agentApi": {
3639
+ "title": "Agent API",
3640
+ "type": "object",
3641
+ "properties": {
3642
+ "inputs": {
3643
+ "type": "array",
3644
+ "items": {
3645
+ "$ref": "#/definitions/agentApiInput"
3646
+ }
3647
+ }
3648
+ },
3649
+ "required": ["inputs"],
3650
+ "additionalProperties": false
3651
+ },
3652
+ "agentMemory": {
3653
+ "title": "Agent Memory",
3654
+ "type": "object",
3655
+ "properties": {
3656
+ "sessionMemory": {
3657
+ "$ref": "#/definitions/agentSessionMemory"
3658
+ }
3659
+ },
3660
+ "required": ["sessionMemory"],
3661
+ "additionalProperties": false
3662
+ },
3663
+ "agentSessionMemory": {
3664
+ "title": "Agent Session Memory",
3665
+ "type": "object",
3666
+ "properties": {
3667
+ "shape": {
3668
+ "type": "string"
3669
+ }
3670
+ },
3671
+ "required": [],
3672
+ "additionalProperties": false
3673
+ },
3674
+ "agentVariable": {
3675
+ "title": "Agent Variable",
3676
+ "type": "object",
3677
+ "properties": {
3678
+ "name": {
3679
+ "type": "string"
3680
+ },
3681
+ "steps": {
3682
+ "description": "These are evaluated in order until a value is found.",
3683
+ "type": "array",
3684
+ "items": {
3685
+ "$ref": "#/definitions/agentVariableStep"
3686
+ }
3687
+ }
3688
+ },
3689
+ "required": ["name", "steps"],
3690
+ "additionalProperties": false
3691
+ },
3692
+ "agentVariableStep": {
3693
+ "title": "Agent Variable Step",
3694
+ "type": "object",
3695
+ "properties": {
3696
+ "condition": {
3697
+ "type": "string"
3698
+ },
3699
+ "expression": {
3700
+ "type": "string"
3701
+ }
3702
+ },
3703
+ "required": ["expression"],
3704
+ "additionalProperties": false
3705
+ },
3706
+ "agentStart": {
3707
+ "title": "Agent Start",
3708
+ "description": "Configuration for the start of an agent's execution",
3709
+ "type": "object",
3710
+ "properties": {
3711
+ "transitions": {
3712
+ "type": "array",
3713
+ "items": {
3714
+ "$ref": "#/definitions/agentTransitionSuspend"
3715
+ }
3716
+ }
3717
+ },
3718
+ "required": ["transitions"],
3719
+ "additionalProperties": false
3720
+ },
3721
+ "agentStateMap": {
3722
+ "title": "Agent States",
3723
+ "description": "States that are traversed during the execution of an agent.",
3724
+ "type": "object",
3725
+ "patternProperties": {
3726
+ "^[0-9A-Za-z_]+$": {
3727
+ "$ref": "#/definitions/agentState"
3728
+ }
3729
+ },
3730
+ "additionalProperties": false
3731
+ },
3732
+ "agentState": {
3733
+ "title": "Agent State",
3734
+ "description": "One step of an agent's execution.",
3735
+ "type": "object",
3736
+ "properties": {
3737
+ "name": {
3738
+ "type": "string",
3739
+ "pattern": "^[a-zA-Z][0-9A-Za-z_]*$"
3740
+ },
3741
+ "variables": {
3742
+ "title": "Variables",
3743
+ "type": "array",
3744
+ "items": {
3745
+ "$ref": "#/definitions/agentVariable"
3746
+ }
3747
+ },
3748
+ "execution": {
3749
+ "$ref": "#/definitions/agentExecution"
3750
+ },
3751
+ "transitions": {
3752
+ "type": "array",
3753
+ "items": {
3754
+ "$ref": "#/definitions/agentTransition"
3755
+ }
3756
+ }
3757
+ },
3758
+ "required": ["name", "execution"],
3759
+ "additionalProperties": false
3760
+ },
3761
+ "agentExecution": {
3762
+ "title": "Agent Execution",
3763
+ "discriminator": {
3764
+ "propertyName": "type"
3765
+ },
3766
+ "oneOf": [
3767
+ {
3768
+ "$ref": "#/definitions/agentExecutionGraphql"
3769
+ },
3770
+ {
3771
+ "$ref": "#/definitions/agentExecutionGenerate"
3772
+ },
3773
+ {
3774
+ "$ref": "#/definitions/agentExecutionChat"
3775
+ }
3776
+ ]
3777
+ },
3778
+ "agentApiInput": {
3779
+ "title": "Agent API Input",
3780
+ "discriminator": {
3781
+ "propertyName": "type"
3782
+ },
3783
+ "oneOf": [
3784
+ {
3785
+ "$ref": "#/definitions/agentApiMutationInput"
3786
+ }
3787
+ ]
3788
+ },
3789
+ "agentApiMutationInput": {
3790
+ "title": "Agent API Mutation Input",
3791
+ "type": "object",
3792
+ "properties": {
3793
+ "type": {
3794
+ "enum": ["mutation"]
3795
+ },
3796
+ "name": {
3797
+ "type": "string",
3798
+ "pattern": "^[0-9A-Za-z_]+$"
3799
+ },
3800
+ "args": {
3801
+ "type": "string"
3802
+ },
3803
+ "interactionTimeout": {
3804
+ "title": "Interaction Timeout (milliseconds)",
3805
+ "type": "integer"
3806
+ }
3807
+ },
3808
+ "required": ["type", "name", "args"],
3809
+ "additionalProperties": false
3810
+ },
3811
+ "agentExecutionGraphql": {
3812
+ "title": "Agent Execution GraphQL",
3813
+ "type": "object",
3814
+ "properties": {
3815
+ "type": {
3816
+ "enum": ["graphql"]
3817
+ },
3818
+ "query": {
3819
+ "type": "string"
3820
+ },
3821
+ "path": {
3822
+ "type": "string"
3823
+ }
3824
+ },
3825
+ "required": ["type", "query"],
3826
+ "additionalProperties": false
3827
+ },
3828
+ "agentStateSessionMemoryAssignment": {
3829
+ "title": "Agent State Session Memory Assignment",
3830
+ "type": "object",
3831
+ "properties": {
3832
+ "memoryPath": {
3833
+ "type": "string"
3834
+ },
3835
+ "expression": {
3836
+ "type": "string"
3837
+ }
3838
+ },
3839
+ "required": ["expression"],
3840
+ "additionalProperties": false
3841
+ },
3842
+ "agentAiStateInputArg": {
3843
+ "title": "Agent AI State Input Argument",
3844
+ "type": "object",
3845
+ "properties": {
3846
+ "type": {
3847
+ "enum": ["arg"]
3848
+ }
3849
+ },
3850
+ "required": ["type"],
3851
+ "additionalProperties": false
3852
+ },
3853
+ "agentAiStateInputTemplate": {
3854
+ "title": "Agent AI State Input Template",
3855
+ "type": "object",
3856
+ "properties": {
3857
+ "type": {
3858
+ "enum": ["template"]
3859
+ },
3860
+ "inputTemplate": {
3861
+ "type": "string"
3862
+ }
3863
+ },
3864
+ "required": ["type", "inputTemplate"],
3865
+ "additionalProperties": false
3866
+ },
3867
+ "agentAiStateInput": {
3868
+ "title": "Agent AI State Input",
3869
+ "type": "object",
3870
+ "discriminator": {
3871
+ "propertyName": "type"
3872
+ },
3873
+ "oneOf": [
3874
+ {
3875
+ "$ref": "#/definitions/agentAiStateInputArg"
3876
+ },
3877
+ {
3878
+ "$ref": "#/definitions/agentAiStateInputTemplate"
3879
+ }
3880
+ ]
3881
+ },
3882
+ "agentGenerateOptions": {
3883
+ "title": "AgentGenerateOptions",
3884
+ "type": "object",
3885
+ "properties": {
3886
+ "history": {
3887
+ "title": "history",
3888
+ "type": "boolean"
3889
+ },
3890
+ "maxTokens": {
3891
+ "type": "integer",
3892
+ "title": "Maximum Tokens",
3893
+ "description": "Maximum number of tokens to generate. Defaults to 1024"
3894
+ },
3895
+ "temperature": {
3896
+ "type": "number",
3897
+ "title": "Temperature",
3898
+ "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",
3899
+ "minimum": 0,
3900
+ "maximum": 1
3901
+ },
3902
+ "topP": {
3903
+ "type": "number",
3904
+ "title": "Top P",
3905
+ "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.",
3906
+ "minimum": 0,
3907
+ "maximum": 1
3908
+ },
3909
+ "topK": {
3910
+ "type": "number",
3911
+ "title": "Top K",
3912
+ "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."
3913
+ },
3914
+ "presencePenalty": {
3915
+ "type": "number",
3916
+ "title": "Presence penalty setting",
3917
+ "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.",
3918
+ "minimum": -1,
3919
+ "maximum": 1
3920
+ },
3921
+ "frequencyPenalty": {
3922
+ "type": "number",
3923
+ "title": "Frequency penalty setting",
3924
+ "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.",
3925
+ "minimum": -1,
3926
+ "maximum": 1
3927
+ },
3928
+ "stopSequences": {
3929
+ "title": "Stop sequences",
3930
+ "description": "If set, the model will stop generating text when one of the stop sequences is generated.",
3931
+ "type": "array",
3932
+ "items": {
3933
+ "type": "string"
3934
+ }
3935
+ },
3936
+ "seed": {
3937
+ "type": "integer",
3938
+ "title": "Seed",
3939
+ "description": " The seed (integer) to use for random sampling. If set and supported by the model, calls will generate deterministic results."
3940
+ },
3941
+ "maxRetries": {
3942
+ "type": "integer",
3943
+ "description": "Maximum number of retries. Set to 0 to disable retries. Defaults to 2"
3944
+ },
3945
+ "toolChoice": {
3946
+ "type": "string",
3947
+ "description": "The tool choice strategy. Default: 'auto'",
3948
+ "anyOf": [
3949
+ {
3950
+ "enum": ["auto", "none", "required"]
3951
+ },
3952
+ {
3953
+ "type": "string"
3954
+ }
3955
+ ]
3956
+ },
3957
+ "maxToolRoundtrips": {
3958
+ "type": "integer",
3959
+ "title": "Max Tool Roundtrips",
3960
+ "description": "Maximal number of automatic roundtrips for tool calls."
3961
+ },
3962
+ "structuredOutputs": {
3963
+ "type": "boolean",
3964
+ "title": "Structured Outputs",
3965
+ "description": "If true, structured outputs will be enabled on the model for non-text requests."
3966
+ },
3967
+ "enableOpenAIFormat": {
3968
+ "type": "boolean",
3969
+ "title": "Enable OpenAI Schema Format",
3970
+ "description": "Enable OpenAI schema format. Must be enabled if `structuredOutputs` is enabled."
3971
+ },
3972
+ "removePropertyKeyPatterns": {
3973
+ "$ref": "#/definitions/removePropertyKeyPatterns"
3974
+ },
3975
+ "stripMarkdown": {
3976
+ "type": "boolean",
3977
+ "title": "Strip Markdown",
3978
+ "description": "Remove Markdown formatting from the LLM response"
3979
+ }
3980
+ },
3981
+ "additionalProperties": false
3982
+ },
3983
+ "agentGuard": {
3984
+ "title": "Agent Guard",
3985
+ "type": "object",
3986
+ "properties": {
3987
+ "guardId": {
3988
+ "title": "Guard ID",
3989
+ "type": "string"
3990
+ }
3991
+ },
3992
+ "required": ["guardId"],
3993
+ "additionalProperties": false
3994
+ },
3995
+ "agentToolConfig": {
3996
+ "title": "AgentToolConfig",
3997
+ "type": "object",
3998
+ "properties": {
3999
+ "name": {
4000
+ "type": "string"
4001
+ },
4002
+ "ref": {
4003
+ "type": "string"
4004
+ },
4005
+ "description": {
4006
+ "type": "string"
4007
+ },
4008
+ "args": {
4009
+ "type": "array",
4010
+ "items": {
4011
+ "$ref": "#/definitions/agentToolConfigArg"
4012
+ }
4013
+ },
4014
+ "selectionSet": {
4015
+ "type": "string"
4016
+ }
4017
+ },
4018
+ "required": ["name", "ref"],
4019
+ "additionalProperties": false
4020
+ },
4021
+ "agentToolConfigArg": {
4022
+ "title": "Agent Tool Config Arg",
4023
+ "type": "object",
4024
+ "discriminator": {
4025
+ "propertyName": "type"
4026
+ },
4027
+ "oneOf": [
4028
+ {
4029
+ "$ref": "#/definitions/agentToolConfigArgAgent"
4030
+ },
4031
+ {
4032
+ "$ref": "#/definitions/agentToolConfigArgVariable"
4033
+ }
4034
+ ]
4035
+ },
4036
+ "agentToolConfigArgAgent": {
4037
+ "title": "Agent-Controlled",
4038
+ "type": "object",
4039
+ "properties": {
4040
+ "type": {
4041
+ "enum": ["agent"]
4042
+ },
4043
+ "argName": {
4044
+ "title": "Tool Argument Name",
4045
+ "type": "string",
4046
+ "description": "The argument name that will be exposed by the tool for the LLM to use."
4047
+ }
4048
+ },
4049
+ "required": ["type", "argName"],
4050
+ "additionalProperties": false
4051
+ },
4052
+ "agentToolConfigArgVariable": {
4053
+ "title": "Variable Value",
4054
+ "type": "object",
4055
+ "properties": {
4056
+ "type": {
4057
+ "enum": ["variable"]
4058
+ },
4059
+ "argName": {
4060
+ "title": "Tool Argument Name",
4061
+ "type": "string",
4062
+ "description": "Name of argument to pass value to. This prevents the LLM from setting the argument."
4063
+ },
4064
+ "variableName": {
4065
+ "title": "State Variable Name",
4066
+ "type": "string",
4067
+ "description": "Name of variable to pull value from."
4068
+ }
4069
+ },
4070
+ "required": ["type", "argName", "variableName"],
4071
+ "additionalProperties": false
4072
+ },
4073
+ "agentExecutionGenerate": {
4074
+ "title": "Agent Execution Generate",
4075
+ "type": "object",
4076
+ "properties": {
4077
+ "type": {
4078
+ "enum": ["generate"]
4079
+ },
4080
+ "service": {
4081
+ "type": "string"
4082
+ },
4083
+ "model": {
4084
+ "type": "string"
4085
+ },
4086
+ "systemPrompt": {
4087
+ "type": "string"
4088
+ },
4089
+ "input": {
4090
+ "$ref": "#/definitions/agentAiStateInput"
4091
+ },
4092
+ "outputShape": {
4093
+ "type": "string"
4094
+ },
4095
+ "tools": {
4096
+ "type": "array",
4097
+ "items": {
4098
+ "$ref": "#/definitions/agentToolConfig"
4099
+ }
4100
+ },
4101
+ "options": {
4102
+ "$ref": "#/definitions/agentGenerateOptions"
4103
+ }
4104
+ },
4105
+ "required": ["type", "service", "model", "input"],
4106
+ "additionalProperties": false
4107
+ },
4108
+ "agentExecutionChat": {
4109
+ "title": "Agent Execution Chat",
4110
+ "type": "object",
4111
+ "properties": {
4112
+ "type": {
4113
+ "enum": ["chat"]
4114
+ },
4115
+ "service": {
4116
+ "type": "string"
4117
+ },
4118
+ "model": {
4119
+ "type": "string"
4120
+ },
4121
+ "systemPrompt": {
4122
+ "type": "string"
4123
+ },
4124
+ "input": {
4125
+ "$ref": "#/definitions/agentAiStateInput"
4126
+ },
4127
+ "artifact": {
4128
+ "type": "string"
4129
+ },
4130
+ "tools": {
4131
+ "type": "array",
4132
+ "items": {
4133
+ "$ref": "#/definitions/agentToolConfig"
4134
+ }
4135
+ },
4136
+ "options": {
4137
+ "$ref": "#/definitions/agentGenerateOptions"
4138
+ }
4139
+ },
4140
+ "required": ["type", "service", "model", "input"],
4141
+ "additionalProperties": false
4142
+ },
4143
+ "agentTransition": {
4144
+ "title": "Agent Transition",
4145
+ "description": "These steps are evaluated in order until a destination is found.",
4146
+ "discriminator": {
4147
+ "propertyName": "type"
4148
+ },
4149
+ "oneOf": [
4150
+ {
4151
+ "$ref": "#/definitions/agentTransitionImmediate"
4152
+ },
4153
+ {
4154
+ "$ref": "#/definitions/agentTransitionSuspend"
4155
+ }
4156
+ ]
4157
+ },
4158
+ "agentTransitionSuspend": {
4159
+ "title": "Agent Transition Suspend",
4160
+ "type": "object",
4161
+ "properties": {
4162
+ "type": {
4163
+ "enum": ["suspend"]
4164
+ },
4165
+ "destination": {
4166
+ "type": "string",
4167
+ "pattern": "^[0-9A-Za-z_]+$"
4168
+ },
4169
+ "input": {
4170
+ "type": "string"
4171
+ },
4172
+ "condition": {
4173
+ "type": "string"
4174
+ },
4175
+ "limit": {
4176
+ "type": "integer"
4177
+ },
4178
+ "sessionMemory": {
4179
+ "title": "Agent State Session Memory",
4180
+ "type": "array",
4181
+ "items": {
4182
+ "$ref": "#/definitions/agentStateSessionMemoryAssignment"
4183
+ }
4184
+ },
4185
+ "historyStrategy": {
4186
+ "type": "string"
4187
+ }
4188
+ },
4189
+ "additionalProperties": false,
4190
+ "required": ["type", "destination", "input"]
4191
+ },
4192
+ "agentTransitionImmediate": {
4193
+ "title": "Agent Transition Immediate",
4194
+ "type": "object",
4195
+ "properties": {
4196
+ "type": {
4197
+ "enum": ["immediate"]
4198
+ },
4199
+ "destination": {
4200
+ "type": "string",
4201
+ "pattern": "^[0-9A-Za-z_]+$"
4202
+ },
4203
+ "condition": {
4204
+ "type": "string"
4205
+ },
4206
+ "limit": {
4207
+ "type": "integer"
4208
+ },
4209
+ "sessionMemory": {
4210
+ "title": "Agent State Session Memory",
4211
+ "type": "array",
4212
+ "items": {
4213
+ "$ref": "#/definitions/agentStateSessionMemoryAssignment"
4214
+ }
4215
+ },
4216
+ "historyStrategy": {
4217
+ "type": "string"
4218
+ }
4219
+ },
4220
+ "additionalProperties": false,
4221
+ "required": ["type", "destination"]
4222
+ },
4223
+ "agentMap": {
4224
+ "title": "Agent Map",
4225
+ "type": "object",
4226
+ "patternProperties": {
4227
+ "^[0-9A-Za-z_]+$": {
4228
+ "$ref": "#/definitions/agent"
4229
+ }
4230
+ },
4231
+ "additionalProperties": false
4232
+ },
4233
+ "toolMap": {
4234
+ "title": "Tool Map",
4235
+ "type": "object",
4236
+ "patternProperties": {
4237
+ "^[0-9A-Za-z_]+$": {
4238
+ "$ref": "#/definitions/tool"
4239
+ }
4240
+ },
4241
+ "additionalProperties": false
4242
+ },
4243
+ "mcpConfig": {
4244
+ "title": "MCP Server Configuration",
4245
+ "type": "object",
4246
+ "properties": {
4247
+ "tools": {
4248
+ "$ref": "#/definitions/toolMap",
4249
+ "description": "A Tool is a configuration for an AI tool which can query or mutate data."
4250
+ }
4251
+ },
4252
+ "additionalProperties": false
4253
+ },
4254
+ "aiRunAgentResolver": {
4255
+ "title": "AISendAgentMessageResolver",
4256
+ "type": "object",
4257
+ "properties": {
4258
+ "id": {
4259
+ "type": "string",
4260
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
4261
+ },
4262
+ "name": {
4263
+ "title": "AI Resolver Name",
4264
+ "type": "string",
4265
+ "description": "Name of the resolver function.",
4266
+ "enum": ["ai:sendAgentMessage"]
4267
+ },
4268
+ "agentName": {
4269
+ "type": "string",
4270
+ "pattern": "^[0-9A-Za-z_]+$"
4271
+ },
4272
+ "inputName": {
4273
+ "type": "string",
4274
+ "pattern": "^[0-9A-Za-z_]+$"
4275
+ }
4276
+ },
4277
+ "required": ["name", "agentName", "inputName"],
4278
+ "additionalProperties": false
4279
+ },
4280
+ "aiGetAgentMessageResolver": {
4281
+ "title": "AIGetAgentMessageResolver",
4282
+ "type": "object",
4283
+ "properties": {
4284
+ "id": {
4285
+ "type": "string",
4286
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
4287
+ },
4288
+ "name": {
4289
+ "title": "AI Resolver Name",
4290
+ "type": "string",
4291
+ "description": "Name of the resolver function.",
4292
+ "enum": ["ai:getAgentMessage"]
4293
+ },
4294
+ "agentName": {
4295
+ "type": "string",
4296
+ "pattern": "^[0-9A-Za-z_]+$"
4297
+ }
4298
+ },
4299
+ "required": ["name", "agentName"],
4300
+ "additionalProperties": false
4301
+ },
4302
+ "aiAbortAgentMessageResolver": {
4303
+ "title": "AIAbortAgentMessageResolver",
4304
+ "type": "object",
4305
+ "properties": {
4306
+ "id": {
4307
+ "type": "string",
4308
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
4309
+ },
4310
+ "name": {
4311
+ "title": "AI Resolver Name",
4312
+ "type": "string",
4313
+ "description": "Name of the resolver function.",
4314
+ "enum": ["ai:abortAgentMessage"]
4315
+ },
4316
+ "agentName": {
4317
+ "type": "string",
4318
+ "pattern": "^[0-9A-Za-z_]+$"
4319
+ }
4320
+ },
4321
+ "required": ["name", "agentName"],
4322
+ "additionalProperties": false
4323
+ },
4324
+ "aiSendAgentFeedbackResolver": {
4325
+ "title": "AISendAgentFeedbackResolver",
4326
+ "type": "object",
4327
+ "properties": {
4328
+ "id": {
4329
+ "type": "string",
4330
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
4331
+ },
4332
+ "name": {
4333
+ "title": "AI Resolver Name",
4334
+ "type": "string",
4335
+ "description": "Name of the resolver function.",
4336
+ "enum": ["ai:sendAgentFeedback"]
4337
+ },
4338
+ "agentName": {
4339
+ "type": "string",
4340
+ "pattern": "^[0-9A-Za-z_]+$"
4341
+ }
4342
+ },
4343
+ "required": ["name", "agentName"],
4344
+ "additionalProperties": false
4345
+ },
4346
+ "guard": {
4347
+ "title": "GuardJSON",
4348
+ "description": "A Guard is a configuration for an AI guardrail that can check inputs and outputs and provide safety and compliance.",
4349
+ "type": "object",
4350
+ "properties": {
4351
+ "name": {
4352
+ "type": "string",
4353
+ "title": "Name",
4354
+ "description": "The human-readable name of the Guard."
4355
+ },
4356
+ "description": {
4357
+ "type": "string",
4358
+ "title": "Description",
4359
+ "description": "A description of the Guard."
4360
+ },
4361
+ "enabled": {
4362
+ "type": "boolean",
4363
+ "title": "Enabled",
4364
+ "description": "Guards will not run unless enabled.",
4365
+ "default": true
4366
+ },
4367
+ "guardrailIdentifier": {
4368
+ "type": "string",
4369
+ "title": "Guardrail Identifier",
4370
+ "description": "The remote id of the Guardrail."
4371
+ },
4372
+ "guardrailVersion": {
4373
+ "type": "string",
4374
+ "title": "Guardrail Version",
4375
+ "description": "The remote version of the Guardrail."
4376
+ },
4377
+ "blockedInputMessaging": {
4378
+ "type": "string",
4379
+ "title": "Blocked Input Messaging",
4380
+ "description": "A message to return when the input message is blocked by the Guard."
4381
+ },
4382
+ "blockedOutputsMessaging": {
4383
+ "type": "string",
4384
+ "title": "Blocked Outputs Messaging",
4385
+ "description": "A message to return when the output message is blocked by the Guard."
4386
+ },
4387
+ "topicPolicyConfig": {
4388
+ "type": "object",
4389
+ "title": "Topic Policy",
4390
+ "description": "Topics to identify and block.",
4391
+ "properties": {
4392
+ "topicsConfig": {
4393
+ "title": "Topic",
4394
+ "description": "A topic to block.",
4395
+ "type": "array",
4396
+ "items": {
4397
+ "type": "object",
4398
+ "properties": {
4399
+ "name": {
4400
+ "type": "string"
4401
+ },
4402
+ "definition": {
4403
+ "type": "string"
4404
+ },
4405
+ "examples": {
4406
+ "description": "Examples of the topic that can hint the LLM.",
4407
+ "type": "array",
4408
+ "items": {
4409
+ "title": "Example",
4410
+ "type": "string"
4411
+ },
4412
+ "minItems": 1
4413
+ },
4414
+ "type": {
4415
+ "type": "string",
4416
+ "enum": ["DENY"]
4417
+ }
4418
+ },
4419
+ "required": ["name", "definition", "type"],
4420
+ "additionalProperties": false
4421
+ },
4422
+ "minItems": 1
4423
+ }
4424
+ },
4425
+ "required": ["topicsConfig"],
4426
+ "additionalProperties": false
4427
+ },
4428
+ "contentPolicyConfig": {
4429
+ "type": "object",
4430
+ "title": "Content Policy",
4431
+ "description": "Types of content to filter and strength configuration.",
4432
+ "properties": {
4433
+ "filtersConfig": {
4434
+ "title": "Filter",
4435
+ "description": "Types of content to filter.",
4436
+ "type": "array",
4437
+ "items": {
4438
+ "type": "object",
4439
+ "properties": {
4440
+ "type": {
4441
+ "type": "string",
4442
+ "enum": ["HATE", "INSULTS", "MICONDUCT", "PROMPT_ATTACK", "SEXUAL", "VIOLENCE"]
4443
+ },
4444
+ "inputStrength": {
4445
+ "title": "Input Strength",
4446
+ "type": "string",
4447
+ "enum": ["NONE", "LOW", "MEDIUM", "HIGH"]
4448
+ },
4449
+ "outputStrength": {
4450
+ "title": "Output Strength",
4451
+ "type": "string",
4452
+ "enum": ["NONE", "LOW", "MEDIUM", "HIGH"]
4453
+ },
4454
+ "inputModalities": {
4455
+ "title": "Input Modalities",
4456
+ "description": "Whether to filter images or text",
4457
+ "type": "array",
4458
+ "items": {
4459
+ "$ref": "#/definitions/guardrailModality"
4460
+ },
4461
+ "minItems": 1
4462
+ },
4463
+ "outputModalities": {
4464
+ "title": "Output Modalities",
4465
+ "description": "Whether to filter images or text",
4466
+ "type": "array",
4467
+ "items": {
4468
+ "$ref": "#/definitions/guardrailModality"
4469
+ },
4470
+ "minItems": 1
4471
+ }
4472
+ },
4473
+ "required": ["type", "inputStrength", "outputStrength"],
4474
+ "additionalProperties": false
4475
+ },
4476
+ "minItems": 1
4477
+ }
4478
+ },
4479
+ "required": ["filtersConfig"],
4480
+ "additionalProperties": false
4481
+ },
4482
+ "wordPolicyConfig": {
4483
+ "type": "object",
4484
+ "title": "Word Policy",
4485
+ "description": "Specific words to identify and block.",
4486
+ "properties": {
4487
+ "wordsConfig": {
4488
+ "title": "Word List",
4489
+ "description": "Specific words to block.",
4490
+ "type": "array",
4491
+ "items": {
4492
+ "type": "object",
4493
+ "properties": {
4494
+ "text": {
4495
+ "type": "string"
4496
+ }
4497
+ },
4498
+ "required": ["text"],
4499
+ "additionalProperties": false
4500
+ },
4501
+ "minItems": 1
4502
+ },
4503
+ "managedWordListsConfig": {
4504
+ "title": "Managed Word List",
4505
+ "description": "This is solely used for blocking profanity.",
4506
+ "type": "array",
4507
+ "items": {
4508
+ "type": "object",
4509
+ "properties": {
4510
+ "type": {
4511
+ "type": "string",
4512
+ "enum": ["PROFANITY"]
4513
+ }
4514
+ },
4515
+ "required": ["type"],
4516
+ "additionalProperties": false
4517
+ },
4518
+ "minItems": 1
4519
+ }
4520
+ },
4521
+ "additionalProperties": false
4522
+ },
4523
+ "sensitiveInformationPolicyConfig": {
4524
+ "title": "Sensitive Information Policy",
4525
+ "description": "Filter out and block or obscure sensitive information. Matching text will be handled per the policy.",
4526
+ "type": "object",
4527
+ "properties": {
4528
+ "piiEntitiesConfig": {
4529
+ "title": "PII Entity",
4530
+ "description": "PII entity to infer from the text.",
4531
+ "type": "array",
4532
+ "items": {
4533
+ "type": "object",
4534
+ "properties": {
4535
+ "type": {
4536
+ "type": "string",
4537
+ "enum": [
4538
+ "ADDRESS",
4539
+ "AGE",
4540
+ "AWS_ACCESS_KEY",
4541
+ "AWS_SECRET_KEY",
4542
+ "CA_HEALTH_NUMBER",
4543
+ "CA_SOCIAL_INSURANCE_NUMBER",
4544
+ "CREDIT_DEBIT_CARD_CVV",
4545
+ "CREDIT_DEBIT_CARD_EXPIRY",
4546
+ "CREDIT_DEBIT_CARD_NUMBER",
4547
+ "DRIVER_ID",
4548
+ "EMAIL",
4549
+ "INTERNATIONAL_BANK_ACCOUNT_NUMBER",
4550
+ "IP_ADDRESS",
4551
+ "LICENSE_PLATE",
4552
+ "MAC_ADDRESS",
4553
+ "NAME",
4554
+ "PASSWORD",
4555
+ "PHONE",
4556
+ "PIN",
4557
+ "SWIFT_CODE",
4558
+ "UK_NATIONAL_HEALTH_SERVICE_NUMBER",
4559
+ "UK_NATIONAL_INSURANCE_NUMBER",
4560
+ "UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER",
4561
+ "URL",
4562
+ "USERNAME",
4563
+ "US_BANK_ACCOUNT_NUMBER",
4564
+ "US_BANK_ROUTING_NUMBER",
4565
+ "US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER",
4566
+ "US_PASSPORT_NUMBER",
4567
+ "US_SOCIAL_SECURITY_NUMBER",
4568
+ "VEHICLE_IDENTIFICATION_NUMBER"
4569
+ ]
4570
+ },
4571
+ "action": {
4572
+ "$ref": "#/definitions/guardrailSensitiveInformationAction"
4573
+ }
4574
+ },
4575
+ "required": ["type", "action"],
4576
+ "additionalProperties": false
4577
+ },
4578
+ "minItems": 1
4579
+ },
4580
+ "regexesConfig": {
4581
+ "title": "Regular Expression",
4582
+ "description": "A regular expression to match sensitive information.",
4583
+ "type": "array",
4584
+ "items": {
4585
+ "type": "object",
4586
+ "properties": {
4587
+ "name": {
4588
+ "type": "string"
4589
+ },
4590
+ "description": {
4591
+ "type": "string"
4592
+ },
4593
+ "pattern": {
4594
+ "type": "string"
4595
+ },
4596
+ "action": {
4597
+ "$ref": "#/definitions/guardrailSensitiveInformationAction"
4598
+ }
4599
+ },
4600
+ "required": ["name", "pattern", "action"],
4601
+ "additionalProperties": false
4602
+ },
4603
+ "minItems": 1
4604
+ }
4605
+ },
4606
+ "additionalProperties": false
4607
+ },
4608
+ "contextualGroundingPolicyConfig": {
4609
+ "title": "Contextual Grounding Policy",
4610
+ "description": "Provides evaluations based on grounding text supplied by your in-context agent variables. Off-topic conversations can then be blocked.",
4611
+ "type": "object",
4612
+ "properties": {
4613
+ "filtersConfig": {
4614
+ "title": "Filter",
4615
+ "description": "Filter to evaluate grounding text.",
4616
+ "type": "array",
4617
+ "items": {
4618
+ "type": "object",
4619
+ "properties": {
4620
+ "type": {
4621
+ "title": "Type",
4622
+ "description": "The type of filter.",
4623
+ "type": "string",
4624
+ "enum": ["GROUNDING", "RELEVANCE"]
4625
+ },
4626
+ "threshold": {
4627
+ "title": "Threshold",
4628
+ "description": "The threshold for the filter as a floating point value greater than 0.0 and less than 1.0.",
4629
+ "type": "number",
4630
+ "multipleOf": 0.01,
4631
+ "exclusiveMinimum": 0,
4632
+ "exclusiveMaximum": 1
4633
+ }
4634
+ },
4635
+ "required": ["type", "threshold"],
4636
+ "additionalProperties": false
4637
+ },
4638
+ "minItems": 1
4639
+ }
4640
+ },
4641
+ "required": ["filtersConfig"],
4642
+ "additionalProperties": false
4643
+ }
4644
+ },
4645
+ "required": ["name"],
4646
+ "additionalProperties": false
4647
+ },
4648
+ "guardMap": {
4649
+ "title": "GuardMap",
4650
+ "type": "object",
4651
+ "patternProperties": {
4652
+ "^[0-9A-Za-z_]+$": {
4653
+ "$ref": "#/definitions/guard"
4654
+ }
4655
+ },
4656
+ "additionalProperties": false
4657
+ },
4658
+ "guardrailModality": {
4659
+ "title": "Guardrail Modality",
4660
+ "type": "string",
4661
+ "enum": ["TEXT", "IMAGE"]
4662
+ },
4663
+ "guardrailSensitiveInformationAction": {
4664
+ "title": "Guardrail Sensitive Information Action",
4665
+ "type": "string",
4666
+ "enum": ["ANONYMIZE", "BLOCK"]
4667
+ },
4668
+ "aiInspectAgentResolver": {
4669
+ "title": "AIInspectAgentResolver",
4670
+ "type": "object",
4671
+ "properties": {
4672
+ "id": {
4673
+ "type": "string",
4674
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
4675
+ },
4676
+ "name": {
4677
+ "title": "AI Resolver Name",
4678
+ "type": "string",
4679
+ "description": "Name of the resolver function.",
4680
+ "enum": ["ai:inspectAgent"]
4681
+ },
4682
+ "agentName": {
4683
+ "type": "string",
4684
+ "pattern": "^[0-9A-Za-z_]+$"
4685
+ }
4686
+ },
4687
+ "required": ["name", "agentName"],
4688
+ "additionalProperties": false
4689
+ },
4690
+ "aiCreateAgentSessionResolver": {
4691
+ "title": "AICreateAgentSessionResolver",
4692
+ "type": "object",
4693
+ "properties": {
4694
+ "id": {
4695
+ "type": "string",
4696
+ "pattern": "^(?=[a-zA-Z])[-_a-zA-Z0-9]+$"
4697
+ },
4698
+ "name": {
4699
+ "title": "AI Resolver Name",
4700
+ "type": "string",
4701
+ "description": "Name of the resolver function.",
4702
+ "enum": ["ai:createAgentSession"]
4703
+ },
4704
+ "agentName": {
4705
+ "type": "string",
4706
+ "pattern": "^[0-9A-Za-z_]+$"
4707
+ }
4708
+ },
4709
+ "required": ["name", "agentName"],
4710
+ "additionalProperties": false
4711
+ },
4712
+ "removePropertyKeyPatterns": {
4713
+ "type": "array",
4714
+ "items": {
4715
+ "title": "Minimatch Pattern",
4716
+ "type": "string"
4717
+ },
4718
+ "title": "Remove Property Key Patterns",
4719
+ "description": "Remove properties from the schema sent to the model with keys matching these minimatch glob patterns."
3448
4720
  }
3449
4721
  },
3450
4722
  "properties": {
@@ -3457,7 +4729,7 @@
3457
4729
  },
3458
4730
  "schemaVersion": {
3459
4731
  "type": "string",
3460
- "enum": ["3.56.0"],
4732
+ "enum": ["3.57.0"],
3461
4733
  "description": "The version of the schema format your project is using. We increase the version as we make breaking changes to the schema format."
3462
4734
  },
3463
4735
  "projectId": {
@@ -3498,10 +4770,6 @@
3498
4770
  "$ref": "#/definitions/shapeMap",
3499
4771
  "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."
3500
4772
  },
3501
- "ai-experimental": {
3502
- "$ref": "https://schema.takeshape.io/project-schema/experimental#/definitions/aiExperimental",
3503
- "description": "Unstable AI features that will not be migrated when removed. Not suitable for production use."
3504
- },
3505
4773
  "forms": {
3506
4774
  "$ref": "#/definitions/formMap",
3507
4775
  "description": "Forms define a visual interface for editing Shapes in the TakeShape UI."
@@ -3513,6 +4781,18 @@
3513
4781
  "services": {
3514
4782
  "$ref": "#/definitions/storedServiceMap",
3515
4783
  "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."
4784
+ },
4785
+ "agents": {
4786
+ "$ref": "#/definitions/agentMap",
4787
+ "description": "An Agent is a configuration for an AI service such as a chat bot or a search engine."
4788
+ },
4789
+ "guards": {
4790
+ "$ref": "#/definitions/guardMap",
4791
+ "description": "A Guard is a configuration for an AI guardrail that can check inputs and outputs and provide safety and compliance."
4792
+ },
4793
+ "mcp": {
4794
+ "$ref": "#/definitions/mcpConfig",
4795
+ "description": "MCP server configuration"
3516
4796
  }
3517
4797
  },
3518
4798
  "additionalProperties": false,