@1claw/openapi-spec 0.39.1 → 0.40.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 (3) hide show
  1. package/openapi.json +650 -1
  2. package/openapi.yaml +397 -1
  3. package/package.json +1 -1
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "1Claw API",
5
- "version": "2.25.0",
5
+ "version": "2.26.0",
6
6
  "description": "Secure secret management for AI agents. Provides vaults, secrets,\npolicy-based access control, agent identity, Intents API,\nsharing, billing, and audit logging.\n\nAll endpoints require JWT Bearer authentication unless marked with\n`security: []`.\n",
7
7
  "contact": {
8
8
  "email": "ops@1claw.xyz"
@@ -126,6 +126,10 @@
126
126
  {
127
127
  "name": "Tokens",
128
128
  "description": "Known token registry for guardrail enforcement"
129
+ },
130
+ {
131
+ "name": "Execution Intents",
132
+ "description": "Execute HTTP calls, queries, and more through pre-configured bindings"
129
133
  }
130
134
  ],
131
135
  "paths": {
@@ -3862,6 +3866,356 @@
3862
3866
  }
3863
3867
  }
3864
3868
  },
3869
+ "/v1/agents/{agent_id}/bindings": {
3870
+ "post": {
3871
+ "tags": [
3872
+ "Execution Intents"
3873
+ ],
3874
+ "summary": "Create a binding",
3875
+ "operationId": "createBinding",
3876
+ "parameters": [
3877
+ {
3878
+ "$ref": "#/components/parameters/AgentId"
3879
+ }
3880
+ ],
3881
+ "requestBody": {
3882
+ "required": true,
3883
+ "content": {
3884
+ "application/json": {
3885
+ "schema": {
3886
+ "$ref": "#/components/schemas/CreateBindingRequest"
3887
+ }
3888
+ }
3889
+ }
3890
+ },
3891
+ "responses": {
3892
+ "201": {
3893
+ "description": "Binding created",
3894
+ "content": {
3895
+ "application/json": {
3896
+ "schema": {
3897
+ "$ref": "#/components/schemas/BindingResponse"
3898
+ }
3899
+ }
3900
+ }
3901
+ },
3902
+ "400": {
3903
+ "$ref": "#/components/responses/BadRequest"
3904
+ },
3905
+ "403": {
3906
+ "$ref": "#/components/responses/Forbidden"
3907
+ }
3908
+ }
3909
+ },
3910
+ "get": {
3911
+ "tags": [
3912
+ "Execution Intents"
3913
+ ],
3914
+ "summary": "List bindings",
3915
+ "operationId": "listBindings",
3916
+ "parameters": [
3917
+ {
3918
+ "$ref": "#/components/parameters/AgentId"
3919
+ }
3920
+ ],
3921
+ "responses": {
3922
+ "200": {
3923
+ "description": "Binding list",
3924
+ "content": {
3925
+ "application/json": {
3926
+ "schema": {
3927
+ "type": "object",
3928
+ "required": [
3929
+ "bindings"
3930
+ ],
3931
+ "properties": {
3932
+ "bindings": {
3933
+ "type": "array",
3934
+ "items": {
3935
+ "$ref": "#/components/schemas/BindingResponse"
3936
+ }
3937
+ }
3938
+ }
3939
+ }
3940
+ }
3941
+ }
3942
+ },
3943
+ "403": {
3944
+ "$ref": "#/components/responses/Forbidden"
3945
+ }
3946
+ }
3947
+ }
3948
+ },
3949
+ "/v1/agents/{agent_id}/bindings/{binding_id}": {
3950
+ "get": {
3951
+ "tags": [
3952
+ "Execution Intents"
3953
+ ],
3954
+ "summary": "Get binding",
3955
+ "operationId": "getBinding",
3956
+ "parameters": [
3957
+ {
3958
+ "$ref": "#/components/parameters/AgentId"
3959
+ },
3960
+ {
3961
+ "name": "binding_id",
3962
+ "in": "path",
3963
+ "required": true,
3964
+ "schema": {
3965
+ "type": "string",
3966
+ "format": "uuid"
3967
+ }
3968
+ }
3969
+ ],
3970
+ "responses": {
3971
+ "200": {
3972
+ "description": "Binding details",
3973
+ "content": {
3974
+ "application/json": {
3975
+ "schema": {
3976
+ "$ref": "#/components/schemas/BindingResponse"
3977
+ }
3978
+ }
3979
+ }
3980
+ },
3981
+ "404": {
3982
+ "$ref": "#/components/responses/NotFound"
3983
+ }
3984
+ }
3985
+ },
3986
+ "patch": {
3987
+ "tags": [
3988
+ "Execution Intents"
3989
+ ],
3990
+ "summary": "Update binding",
3991
+ "operationId": "updateBinding",
3992
+ "parameters": [
3993
+ {
3994
+ "$ref": "#/components/parameters/AgentId"
3995
+ },
3996
+ {
3997
+ "name": "binding_id",
3998
+ "in": "path",
3999
+ "required": true,
4000
+ "schema": {
4001
+ "type": "string",
4002
+ "format": "uuid"
4003
+ }
4004
+ }
4005
+ ],
4006
+ "requestBody": {
4007
+ "required": true,
4008
+ "content": {
4009
+ "application/json": {
4010
+ "schema": {
4011
+ "$ref": "#/components/schemas/UpdateBindingRequest"
4012
+ }
4013
+ }
4014
+ }
4015
+ },
4016
+ "responses": {
4017
+ "200": {
4018
+ "description": "Binding updated",
4019
+ "content": {
4020
+ "application/json": {
4021
+ "schema": {
4022
+ "$ref": "#/components/schemas/BindingResponse"
4023
+ }
4024
+ }
4025
+ }
4026
+ },
4027
+ "400": {
4028
+ "$ref": "#/components/responses/BadRequest"
4029
+ },
4030
+ "404": {
4031
+ "$ref": "#/components/responses/NotFound"
4032
+ }
4033
+ }
4034
+ },
4035
+ "delete": {
4036
+ "tags": [
4037
+ "Execution Intents"
4038
+ ],
4039
+ "summary": "Delete binding",
4040
+ "operationId": "deleteBinding",
4041
+ "parameters": [
4042
+ {
4043
+ "$ref": "#/components/parameters/AgentId"
4044
+ },
4045
+ {
4046
+ "name": "binding_id",
4047
+ "in": "path",
4048
+ "required": true,
4049
+ "schema": {
4050
+ "type": "string",
4051
+ "format": "uuid"
4052
+ }
4053
+ }
4054
+ ],
4055
+ "responses": {
4056
+ "204": {
4057
+ "description": "Binding deleted"
4058
+ },
4059
+ "404": {
4060
+ "$ref": "#/components/responses/NotFound"
4061
+ }
4062
+ }
4063
+ }
4064
+ },
4065
+ "/v1/agents/{agent_id}/bindings/{binding_id}/test": {
4066
+ "post": {
4067
+ "tags": [
4068
+ "Execution Intents"
4069
+ ],
4070
+ "summary": "Test binding connectivity",
4071
+ "operationId": "testBinding",
4072
+ "parameters": [
4073
+ {
4074
+ "$ref": "#/components/parameters/AgentId"
4075
+ },
4076
+ {
4077
+ "name": "binding_id",
4078
+ "in": "path",
4079
+ "required": true,
4080
+ "schema": {
4081
+ "type": "string",
4082
+ "format": "uuid"
4083
+ }
4084
+ }
4085
+ ],
4086
+ "requestBody": {
4087
+ "required": false,
4088
+ "content": {
4089
+ "application/json": {
4090
+ "schema": {
4091
+ "type": "object",
4092
+ "properties": {
4093
+ "timeout_ms": {
4094
+ "type": "integer",
4095
+ "description": "Connection test timeout in milliseconds"
4096
+ }
4097
+ }
4098
+ }
4099
+ }
4100
+ }
4101
+ },
4102
+ "responses": {
4103
+ "200": {
4104
+ "description": "Test result",
4105
+ "content": {
4106
+ "application/json": {
4107
+ "schema": {
4108
+ "$ref": "#/components/schemas/TestBindingResponse"
4109
+ }
4110
+ }
4111
+ }
4112
+ },
4113
+ "404": {
4114
+ "$ref": "#/components/responses/NotFound"
4115
+ }
4116
+ }
4117
+ }
4118
+ },
4119
+ "/v1/agents/{agent_id}/execute": {
4120
+ "post": {
4121
+ "tags": [
4122
+ "Execution Intents"
4123
+ ],
4124
+ "summary": "Execute an intent",
4125
+ "operationId": "executeIntent",
4126
+ "parameters": [
4127
+ {
4128
+ "$ref": "#/components/parameters/AgentId"
4129
+ }
4130
+ ],
4131
+ "requestBody": {
4132
+ "required": true,
4133
+ "content": {
4134
+ "application/json": {
4135
+ "schema": {
4136
+ "$ref": "#/components/schemas/ExecuteRequest"
4137
+ }
4138
+ }
4139
+ }
4140
+ },
4141
+ "responses": {
4142
+ "200": {
4143
+ "description": "Execution result",
4144
+ "content": {
4145
+ "application/json": {
4146
+ "schema": {
4147
+ "$ref": "#/components/schemas/ExecuteResponse"
4148
+ }
4149
+ }
4150
+ }
4151
+ },
4152
+ "400": {
4153
+ "$ref": "#/components/responses/BadRequest"
4154
+ },
4155
+ "403": {
4156
+ "$ref": "#/components/responses/Forbidden"
4157
+ }
4158
+ }
4159
+ }
4160
+ },
4161
+ "/v1/agents/{agent_id}/executions": {
4162
+ "get": {
4163
+ "tags": [
4164
+ "Execution Intents"
4165
+ ],
4166
+ "summary": "List execution events",
4167
+ "operationId": "listExecutions",
4168
+ "parameters": [
4169
+ {
4170
+ "$ref": "#/components/parameters/AgentId"
4171
+ },
4172
+ {
4173
+ "name": "limit",
4174
+ "in": "query",
4175
+ "required": false,
4176
+ "schema": {
4177
+ "type": "integer",
4178
+ "default": 50
4179
+ }
4180
+ },
4181
+ {
4182
+ "name": "offset",
4183
+ "in": "query",
4184
+ "required": false,
4185
+ "schema": {
4186
+ "type": "integer",
4187
+ "default": 0
4188
+ }
4189
+ }
4190
+ ],
4191
+ "responses": {
4192
+ "200": {
4193
+ "description": "Execution event list",
4194
+ "content": {
4195
+ "application/json": {
4196
+ "schema": {
4197
+ "type": "object",
4198
+ "required": [
4199
+ "events"
4200
+ ],
4201
+ "properties": {
4202
+ "events": {
4203
+ "type": "array",
4204
+ "items": {
4205
+ "$ref": "#/components/schemas/ExecutionEventResponse"
4206
+ }
4207
+ }
4208
+ }
4209
+ }
4210
+ }
4211
+ }
4212
+ },
4213
+ "403": {
4214
+ "$ref": "#/components/responses/Forbidden"
4215
+ }
4216
+ }
4217
+ }
4218
+ },
3865
4219
  "/v1/chains": {
3866
4220
  "get": {
3867
4221
  "tags": [
@@ -10949,6 +11303,16 @@
10949
11303
  "shroud_config": {
10950
11304
  "$ref": "#/components/schemas/ShroudConfig"
10951
11305
  },
11306
+ "execution_intents_enabled": {
11307
+ "type": "boolean",
11308
+ "default": false,
11309
+ "description": "Enable Execution Intents (bindings and execute endpoint) for this agent"
11310
+ },
11311
+ "execution_guardrails": {
11312
+ "type": "object",
11313
+ "additionalProperties": true,
11314
+ "description": "Guardrails applied to all execution intents for this agent"
11315
+ },
10952
11316
  "tx_token_allowlist": {
10953
11317
  "type": "array",
10954
11318
  "items": {
@@ -11051,6 +11415,15 @@
11051
11415
  "shroud_config": {
11052
11416
  "$ref": "#/components/schemas/ShroudConfig"
11053
11417
  },
11418
+ "execution_intents_enabled": {
11419
+ "type": "boolean",
11420
+ "description": "Enable/disable Execution Intents for this agent"
11421
+ },
11422
+ "execution_guardrails": {
11423
+ "type": "object",
11424
+ "additionalProperties": true,
11425
+ "description": "Guardrails applied to all execution intents for this agent"
11426
+ },
11054
11427
  "federation_enabled": {
11055
11428
  "type": "boolean",
11056
11429
  "description": "Enable OIDC federation (RFC 8693 token-exchange) for this agent.\nWhen true, the agent may call POST /v1/auth/federated-token to mint\nfederation tokens for the audiences listed in `federation_audiences`.\n"
@@ -11221,6 +11594,15 @@
11221
11594
  "shroud_config": {
11222
11595
  "$ref": "#/components/schemas/ShroudConfig"
11223
11596
  },
11597
+ "execution_intents_enabled": {
11598
+ "type": "boolean",
11599
+ "description": "Whether Execution Intents (bindings and execute endpoint) are enabled for this agent"
11600
+ },
11601
+ "execution_guardrails": {
11602
+ "type": "object",
11603
+ "additionalProperties": true,
11604
+ "description": "Guardrails applied to all execution intents for this agent"
11605
+ },
11224
11606
  "federation_enabled": {
11225
11607
  "type": "boolean",
11226
11608
  "description": "Whether this agent may mint OIDC federation tokens via\nPOST /v1/auth/federated-token. False by default.\n"
@@ -16655,6 +17037,273 @@
16655
17037
  }
16656
17038
  }
16657
17039
  }
17040
+ },
17041
+ "CreateBindingRequest": {
17042
+ "type": "object",
17043
+ "required": [
17044
+ "name",
17045
+ "binding_type"
17046
+ ],
17047
+ "properties": {
17048
+ "name": {
17049
+ "type": "string"
17050
+ },
17051
+ "binding_type": {
17052
+ "type": "string",
17053
+ "enum": [
17054
+ "http",
17055
+ "graphql",
17056
+ "postgres",
17057
+ "mysql",
17058
+ "redis",
17059
+ "grpc",
17060
+ "smtp",
17061
+ "cloud_sdk",
17062
+ "s3",
17063
+ "custom"
17064
+ ]
17065
+ },
17066
+ "config": {
17067
+ "type": "object",
17068
+ "additionalProperties": true
17069
+ },
17070
+ "guardrails": {
17071
+ "type": "object",
17072
+ "additionalProperties": true
17073
+ },
17074
+ "credential": {
17075
+ "type": "object",
17076
+ "additionalProperties": true
17077
+ }
17078
+ }
17079
+ },
17080
+ "UpdateBindingRequest": {
17081
+ "type": "object",
17082
+ "properties": {
17083
+ "config": {
17084
+ "type": "object",
17085
+ "additionalProperties": true
17086
+ },
17087
+ "guardrails": {
17088
+ "type": "object",
17089
+ "additionalProperties": true
17090
+ },
17091
+ "is_active": {
17092
+ "type": "boolean"
17093
+ },
17094
+ "credential": {
17095
+ "type": "object",
17096
+ "additionalProperties": true
17097
+ }
17098
+ }
17099
+ },
17100
+ "BindingResponse": {
17101
+ "type": "object",
17102
+ "required": [
17103
+ "id",
17104
+ "agent_id",
17105
+ "binding_type",
17106
+ "name",
17107
+ "is_active",
17108
+ "created_at",
17109
+ "updated_at"
17110
+ ],
17111
+ "properties": {
17112
+ "id": {
17113
+ "type": "string",
17114
+ "format": "uuid"
17115
+ },
17116
+ "agent_id": {
17117
+ "type": "string",
17118
+ "format": "uuid"
17119
+ },
17120
+ "binding_type": {
17121
+ "type": "string",
17122
+ "enum": [
17123
+ "http",
17124
+ "graphql",
17125
+ "postgres",
17126
+ "mysql",
17127
+ "redis",
17128
+ "grpc",
17129
+ "smtp",
17130
+ "cloud_sdk",
17131
+ "s3",
17132
+ "custom"
17133
+ ]
17134
+ },
17135
+ "name": {
17136
+ "type": "string"
17137
+ },
17138
+ "config": {
17139
+ "type": "object",
17140
+ "additionalProperties": true
17141
+ },
17142
+ "guardrails": {
17143
+ "type": "object",
17144
+ "additionalProperties": true
17145
+ },
17146
+ "is_active": {
17147
+ "type": "boolean"
17148
+ },
17149
+ "created_at": {
17150
+ "type": "string",
17151
+ "format": "date-time"
17152
+ },
17153
+ "updated_at": {
17154
+ "type": "string",
17155
+ "format": "date-time"
17156
+ }
17157
+ }
17158
+ },
17159
+ "TestBindingResponse": {
17160
+ "type": "object",
17161
+ "required": [
17162
+ "success",
17163
+ "latency_ms"
17164
+ ],
17165
+ "properties": {
17166
+ "success": {
17167
+ "type": "boolean"
17168
+ },
17169
+ "latency_ms": {
17170
+ "type": "integer"
17171
+ },
17172
+ "error": {
17173
+ "type": "string",
17174
+ "nullable": true
17175
+ }
17176
+ }
17177
+ },
17178
+ "ExecuteRequest": {
17179
+ "type": "object",
17180
+ "required": [
17181
+ "binding",
17182
+ "intent_type",
17183
+ "params"
17184
+ ],
17185
+ "properties": {
17186
+ "binding": {
17187
+ "type": "string",
17188
+ "description": "Binding name or ID to execute against"
17189
+ },
17190
+ "intent_type": {
17191
+ "type": "string",
17192
+ "description": "Type of execution intent (e.g. http_request, graphql_query)"
17193
+ },
17194
+ "execution_mode": {
17195
+ "type": "string",
17196
+ "enum": [
17197
+ "vault",
17198
+ "tee"
17199
+ ],
17200
+ "default": "vault",
17201
+ "description": "Where execution runs (vault = server-side, tee = Shroud TEE)"
17202
+ },
17203
+ "params": {
17204
+ "type": "object",
17205
+ "additionalProperties": true,
17206
+ "description": "Intent-specific parameters"
17207
+ }
17208
+ }
17209
+ },
17210
+ "ExecuteResponse": {
17211
+ "type": "object",
17212
+ "required": [
17213
+ "execution_id",
17214
+ "status",
17215
+ "duration_ms",
17216
+ "redactions_applied"
17217
+ ],
17218
+ "properties": {
17219
+ "execution_id": {
17220
+ "type": "string",
17221
+ "format": "uuid"
17222
+ },
17223
+ "status": {
17224
+ "type": "string"
17225
+ },
17226
+ "result": {
17227
+ "type": "object",
17228
+ "additionalProperties": true,
17229
+ "nullable": true
17230
+ },
17231
+ "error": {
17232
+ "type": "string",
17233
+ "nullable": true
17234
+ },
17235
+ "duration_ms": {
17236
+ "type": "integer"
17237
+ },
17238
+ "redactions_applied": {
17239
+ "type": "integer"
17240
+ }
17241
+ }
17242
+ },
17243
+ "ExecutionEventResponse": {
17244
+ "type": "object",
17245
+ "required": [
17246
+ "id",
17247
+ "agent_id",
17248
+ "binding_id",
17249
+ "intent_type",
17250
+ "execution_mode",
17251
+ "status",
17252
+ "duration_ms",
17253
+ "redactions_applied",
17254
+ "created_at"
17255
+ ],
17256
+ "properties": {
17257
+ "id": {
17258
+ "type": "string",
17259
+ "format": "uuid"
17260
+ },
17261
+ "agent_id": {
17262
+ "type": "string",
17263
+ "format": "uuid"
17264
+ },
17265
+ "binding_id": {
17266
+ "type": "string",
17267
+ "format": "uuid"
17268
+ },
17269
+ "intent_type": {
17270
+ "type": "string"
17271
+ },
17272
+ "execution_mode": {
17273
+ "type": "string"
17274
+ },
17275
+ "status": {
17276
+ "type": "string"
17277
+ },
17278
+ "request_summary": {
17279
+ "type": "object",
17280
+ "additionalProperties": true,
17281
+ "nullable": true
17282
+ },
17283
+ "result_summary": {
17284
+ "type": "object",
17285
+ "additionalProperties": true,
17286
+ "nullable": true
17287
+ },
17288
+ "error_message": {
17289
+ "type": "string",
17290
+ "nullable": true
17291
+ },
17292
+ "duration_ms": {
17293
+ "type": "integer"
17294
+ },
17295
+ "cost_cents": {
17296
+ "type": "integer",
17297
+ "nullable": true
17298
+ },
17299
+ "redactions_applied": {
17300
+ "type": "integer"
17301
+ },
17302
+ "created_at": {
17303
+ "type": "string",
17304
+ "format": "date-time"
17305
+ }
17306
+ }
16658
17307
  }
16659
17308
  }
16660
17309
  }
package/openapi.yaml CHANGED
@@ -2,7 +2,7 @@ openapi: 3.1.0
2
2
 
3
3
  info:
4
4
  title: 1Claw API
5
- version: 2.25.0
5
+ version: 2.26.0
6
6
  description: |
7
7
  Secure secret management for AI agents. Provides vaults, secrets,
8
8
  policy-based access control, agent identity, Intents API,
@@ -76,6 +76,8 @@ tags:
76
76
  description: Risk events, verdicts, and honeytoken management
77
77
  - name: Tokens
78
78
  description: Known token registry for guardrail enforcement
79
+ - name: Execution Intents
80
+ description: Execute HTTP calls, queries, and more through pre-configured bindings
79
81
 
80
82
  # =============================================================================
81
83
  # PATHS
@@ -2535,6 +2537,218 @@ paths:
2535
2537
  "403":
2536
2538
  $ref: "#/components/responses/Forbidden"
2537
2539
 
2540
+ # ---------------------------------------------------------------------------
2541
+ # Execution Intents
2542
+ # ---------------------------------------------------------------------------
2543
+
2544
+ /v1/agents/{agent_id}/bindings:
2545
+ post:
2546
+ tags: [Execution Intents]
2547
+ summary: Create a binding
2548
+ operationId: createBinding
2549
+ parameters:
2550
+ - $ref: "#/components/parameters/AgentId"
2551
+ requestBody:
2552
+ required: true
2553
+ content:
2554
+ application/json:
2555
+ schema:
2556
+ $ref: "#/components/schemas/CreateBindingRequest"
2557
+ responses:
2558
+ "201":
2559
+ description: Binding created
2560
+ content:
2561
+ application/json:
2562
+ schema:
2563
+ $ref: "#/components/schemas/BindingResponse"
2564
+ "400":
2565
+ $ref: "#/components/responses/BadRequest"
2566
+ "403":
2567
+ $ref: "#/components/responses/Forbidden"
2568
+ get:
2569
+ tags: [Execution Intents]
2570
+ summary: List bindings
2571
+ operationId: listBindings
2572
+ parameters:
2573
+ - $ref: "#/components/parameters/AgentId"
2574
+ responses:
2575
+ "200":
2576
+ description: Binding list
2577
+ content:
2578
+ application/json:
2579
+ schema:
2580
+ type: object
2581
+ required: [bindings]
2582
+ properties:
2583
+ bindings:
2584
+ type: array
2585
+ items:
2586
+ $ref: "#/components/schemas/BindingResponse"
2587
+ "403":
2588
+ $ref: "#/components/responses/Forbidden"
2589
+
2590
+ /v1/agents/{agent_id}/bindings/{binding_id}:
2591
+ get:
2592
+ tags: [Execution Intents]
2593
+ summary: Get binding
2594
+ operationId: getBinding
2595
+ parameters:
2596
+ - $ref: "#/components/parameters/AgentId"
2597
+ - name: binding_id
2598
+ in: path
2599
+ required: true
2600
+ schema:
2601
+ type: string
2602
+ format: uuid
2603
+ responses:
2604
+ "200":
2605
+ description: Binding details
2606
+ content:
2607
+ application/json:
2608
+ schema:
2609
+ $ref: "#/components/schemas/BindingResponse"
2610
+ "404":
2611
+ $ref: "#/components/responses/NotFound"
2612
+ patch:
2613
+ tags: [Execution Intents]
2614
+ summary: Update binding
2615
+ operationId: updateBinding
2616
+ parameters:
2617
+ - $ref: "#/components/parameters/AgentId"
2618
+ - name: binding_id
2619
+ in: path
2620
+ required: true
2621
+ schema:
2622
+ type: string
2623
+ format: uuid
2624
+ requestBody:
2625
+ required: true
2626
+ content:
2627
+ application/json:
2628
+ schema:
2629
+ $ref: "#/components/schemas/UpdateBindingRequest"
2630
+ responses:
2631
+ "200":
2632
+ description: Binding updated
2633
+ content:
2634
+ application/json:
2635
+ schema:
2636
+ $ref: "#/components/schemas/BindingResponse"
2637
+ "400":
2638
+ $ref: "#/components/responses/BadRequest"
2639
+ "404":
2640
+ $ref: "#/components/responses/NotFound"
2641
+ delete:
2642
+ tags: [Execution Intents]
2643
+ summary: Delete binding
2644
+ operationId: deleteBinding
2645
+ parameters:
2646
+ - $ref: "#/components/parameters/AgentId"
2647
+ - name: binding_id
2648
+ in: path
2649
+ required: true
2650
+ schema:
2651
+ type: string
2652
+ format: uuid
2653
+ responses:
2654
+ "204":
2655
+ description: Binding deleted
2656
+ "404":
2657
+ $ref: "#/components/responses/NotFound"
2658
+
2659
+ /v1/agents/{agent_id}/bindings/{binding_id}/test:
2660
+ post:
2661
+ tags: [Execution Intents]
2662
+ summary: Test binding connectivity
2663
+ operationId: testBinding
2664
+ parameters:
2665
+ - $ref: "#/components/parameters/AgentId"
2666
+ - name: binding_id
2667
+ in: path
2668
+ required: true
2669
+ schema:
2670
+ type: string
2671
+ format: uuid
2672
+ requestBody:
2673
+ required: false
2674
+ content:
2675
+ application/json:
2676
+ schema:
2677
+ type: object
2678
+ properties:
2679
+ timeout_ms:
2680
+ type: integer
2681
+ description: Connection test timeout in milliseconds
2682
+ responses:
2683
+ "200":
2684
+ description: Test result
2685
+ content:
2686
+ application/json:
2687
+ schema:
2688
+ $ref: "#/components/schemas/TestBindingResponse"
2689
+ "404":
2690
+ $ref: "#/components/responses/NotFound"
2691
+
2692
+ /v1/agents/{agent_id}/execute:
2693
+ post:
2694
+ tags: [Execution Intents]
2695
+ summary: Execute an intent
2696
+ operationId: executeIntent
2697
+ parameters:
2698
+ - $ref: "#/components/parameters/AgentId"
2699
+ requestBody:
2700
+ required: true
2701
+ content:
2702
+ application/json:
2703
+ schema:
2704
+ $ref: "#/components/schemas/ExecuteRequest"
2705
+ responses:
2706
+ "200":
2707
+ description: Execution result
2708
+ content:
2709
+ application/json:
2710
+ schema:
2711
+ $ref: "#/components/schemas/ExecuteResponse"
2712
+ "400":
2713
+ $ref: "#/components/responses/BadRequest"
2714
+ "403":
2715
+ $ref: "#/components/responses/Forbidden"
2716
+
2717
+ /v1/agents/{agent_id}/executions:
2718
+ get:
2719
+ tags: [Execution Intents]
2720
+ summary: List execution events
2721
+ operationId: listExecutions
2722
+ parameters:
2723
+ - $ref: "#/components/parameters/AgentId"
2724
+ - name: limit
2725
+ in: query
2726
+ required: false
2727
+ schema:
2728
+ type: integer
2729
+ default: 50
2730
+ - name: offset
2731
+ in: query
2732
+ required: false
2733
+ schema:
2734
+ type: integer
2735
+ default: 0
2736
+ responses:
2737
+ "200":
2738
+ description: Execution event list
2739
+ content:
2740
+ application/json:
2741
+ schema:
2742
+ type: object
2743
+ required: [events]
2744
+ properties:
2745
+ events:
2746
+ type: array
2747
+ items:
2748
+ $ref: "#/components/schemas/ExecutionEventResponse"
2749
+ "403":
2750
+ $ref: "#/components/responses/Forbidden"
2751
+
2538
2752
  # ---------------------------------------------------------------------------
2539
2753
  # Chains
2540
2754
  # ---------------------------------------------------------------------------
@@ -7074,6 +7288,14 @@ components:
7074
7288
  description: Enable Shroud LLM Proxy for this agent
7075
7289
  shroud_config:
7076
7290
  $ref: "#/components/schemas/ShroudConfig"
7291
+ execution_intents_enabled:
7292
+ type: boolean
7293
+ default: false
7294
+ description: Enable Execution Intents (bindings and execute endpoint) for this agent
7295
+ execution_guardrails:
7296
+ type: object
7297
+ additionalProperties: true
7298
+ description: Guardrails applied to all execution intents for this agent
7077
7299
  tx_token_allowlist:
7078
7300
  type: array
7079
7301
  items:
@@ -7152,6 +7374,13 @@ components:
7152
7374
  description: Enable/disable Shroud LLM Proxy
7153
7375
  shroud_config:
7154
7376
  $ref: "#/components/schemas/ShroudConfig"
7377
+ execution_intents_enabled:
7378
+ type: boolean
7379
+ description: Enable/disable Execution Intents for this agent
7380
+ execution_guardrails:
7381
+ type: object
7382
+ additionalProperties: true
7383
+ description: Guardrails applied to all execution intents for this agent
7155
7384
  federation_enabled:
7156
7385
  type: boolean
7157
7386
  description: |
@@ -7291,6 +7520,13 @@ components:
7291
7520
  description: Whether this agent routes LLM traffic through the Shroud TEE proxy
7292
7521
  shroud_config:
7293
7522
  $ref: "#/components/schemas/ShroudConfig"
7523
+ execution_intents_enabled:
7524
+ type: boolean
7525
+ description: Whether Execution Intents (bindings and execute endpoint) are enabled for this agent
7526
+ execution_guardrails:
7527
+ type: object
7528
+ additionalProperties: true
7529
+ description: Guardrails applied to all execution intents for this agent
7294
7530
  federation_enabled:
7295
7531
  type: boolean
7296
7532
  description: |
@@ -11025,3 +11261,163 @@ components:
11025
11261
  type: array
11026
11262
  items:
11027
11263
  $ref: "#/components/schemas/Honeytoken"
11264
+
11265
+ # --- Execution Intents ---
11266
+
11267
+ CreateBindingRequest:
11268
+ type: object
11269
+ required: [name, binding_type]
11270
+ properties:
11271
+ name:
11272
+ type: string
11273
+ binding_type:
11274
+ type: string
11275
+ enum: [http, graphql, postgres, mysql, redis, grpc, smtp, cloud_sdk, s3, custom]
11276
+ config:
11277
+ type: object
11278
+ additionalProperties: true
11279
+ guardrails:
11280
+ type: object
11281
+ additionalProperties: true
11282
+ credential:
11283
+ type: object
11284
+ additionalProperties: true
11285
+
11286
+ UpdateBindingRequest:
11287
+ type: object
11288
+ properties:
11289
+ config:
11290
+ type: object
11291
+ additionalProperties: true
11292
+ guardrails:
11293
+ type: object
11294
+ additionalProperties: true
11295
+ is_active:
11296
+ type: boolean
11297
+ credential:
11298
+ type: object
11299
+ additionalProperties: true
11300
+
11301
+ BindingResponse:
11302
+ type: object
11303
+ required: [id, agent_id, binding_type, name, is_active, created_at, updated_at]
11304
+ properties:
11305
+ id:
11306
+ type: string
11307
+ format: uuid
11308
+ agent_id:
11309
+ type: string
11310
+ format: uuid
11311
+ binding_type:
11312
+ type: string
11313
+ enum: [http, graphql, postgres, mysql, redis, grpc, smtp, cloud_sdk, s3, custom]
11314
+ name:
11315
+ type: string
11316
+ config:
11317
+ type: object
11318
+ additionalProperties: true
11319
+ guardrails:
11320
+ type: object
11321
+ additionalProperties: true
11322
+ is_active:
11323
+ type: boolean
11324
+ created_at:
11325
+ type: string
11326
+ format: date-time
11327
+ updated_at:
11328
+ type: string
11329
+ format: date-time
11330
+
11331
+ TestBindingResponse:
11332
+ type: object
11333
+ required: [success, latency_ms]
11334
+ properties:
11335
+ success:
11336
+ type: boolean
11337
+ latency_ms:
11338
+ type: integer
11339
+ error:
11340
+ type: string
11341
+ nullable: true
11342
+
11343
+ ExecuteRequest:
11344
+ type: object
11345
+ required: [binding, intent_type, params]
11346
+ properties:
11347
+ binding:
11348
+ type: string
11349
+ description: Binding name or ID to execute against
11350
+ intent_type:
11351
+ type: string
11352
+ description: Type of execution intent (e.g. http_request, graphql_query)
11353
+ execution_mode:
11354
+ type: string
11355
+ enum: [vault, tee]
11356
+ default: vault
11357
+ description: Where execution runs (vault = server-side, tee = Shroud TEE)
11358
+ params:
11359
+ type: object
11360
+ additionalProperties: true
11361
+ description: Intent-specific parameters
11362
+
11363
+ ExecuteResponse:
11364
+ type: object
11365
+ required: [execution_id, status, duration_ms, redactions_applied]
11366
+ properties:
11367
+ execution_id:
11368
+ type: string
11369
+ format: uuid
11370
+ status:
11371
+ type: string
11372
+ result:
11373
+ type: object
11374
+ additionalProperties: true
11375
+ nullable: true
11376
+ error:
11377
+ type: string
11378
+ nullable: true
11379
+ duration_ms:
11380
+ type: integer
11381
+ redactions_applied:
11382
+ type: integer
11383
+
11384
+ ExecutionEventResponse:
11385
+ type: object
11386
+ required: [id, agent_id, binding_id, intent_type, execution_mode, status, duration_ms, redactions_applied, created_at]
11387
+ properties:
11388
+ id:
11389
+ type: string
11390
+ format: uuid
11391
+ agent_id:
11392
+ type: string
11393
+ format: uuid
11394
+ binding_id:
11395
+ type: string
11396
+ format: uuid
11397
+ intent_type:
11398
+ type: string
11399
+ execution_mode:
11400
+ type: string
11401
+ status:
11402
+ type: string
11403
+ request_summary:
11404
+ type: object
11405
+ additionalProperties: true
11406
+ nullable: true
11407
+ result_summary:
11408
+ type: object
11409
+ additionalProperties: true
11410
+ nullable: true
11411
+ error_message:
11412
+ type: string
11413
+ nullable: true
11414
+ duration_ms:
11415
+ type: integer
11416
+ cost_cents:
11417
+ type: integer
11418
+ nullable: true
11419
+ redactions_applied:
11420
+ type: integer
11421
+ created_at:
11422
+ type: string
11423
+ format: date-time
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1claw/openapi-spec",
3
- "version": "0.39.1",
3
+ "version": "0.40.0",
4
4
  "description": "OpenAPI 3.1.0 specification for the 1Claw Vault API — generate clients in any language",
5
5
  "license": "MIT",
6
6
  "repository": {