@labelbox/rl-sdk 0.0.146 → 0.0.148

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.
@@ -44128,6 +44128,110 @@ export const SDK_REFERENCE = {
44128
44128
  ],
44129
44129
  },
44130
44130
  },
44131
+ managedAgentsApplyAgentTag: {
44132
+ operationId: 'managedAgentsApplyAgentTag',
44133
+ tag: 'managed-agents',
44134
+ callPath: ['managedAgents', 'applyAgentTag'],
44135
+ namespace: 'managedAgents',
44136
+ method: 'applyAgentTag',
44137
+ signature: 'rl.managedAgents.applyAgentTag({ agent_id, tag_id })',
44138
+ example: "const result = await rl.managedAgents.applyAgentTag({\n agent_id: '<agent_id>',\n tag_id: '<tag_id>',\n});",
44139
+ cliInvocation: 'rl managed-agents apply-agent-tag',
44140
+ cliExample: 'rl managed-agents apply-agent-tag \\\n --agent_id <agent_id> \\\n --tag_id <tag_id>',
44141
+ curlExample: "curl -X PUT 'https://api.recursion.labelbox.com/managed-agents/v1/agents/<agent_id>/tags/<tag_id>' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
44142
+ summary: 'Apply one tag to an agent',
44143
+ description: "Idempotently applies one live organization tag and returns the agent's resulting full tag definitions. The classification write does not update the agent or mint a version.",
44144
+ httpMethod: 'put',
44145
+ path: '/managed-agents/v1/agents/{agent_id}/tags/{tag_id}',
44146
+ requiredPermissions: ['managed-agents:update'],
44147
+ params: [
44148
+ {
44149
+ name: 'agent_id',
44150
+ in: 'path',
44151
+ required: true,
44152
+ type: 'string',
44153
+ description: 'Agent id (UUID) as returned by createAgent or listAgents.',
44154
+ format: 'uuid',
44155
+ },
44156
+ {
44157
+ name: 'tag_id',
44158
+ in: 'path',
44159
+ required: true,
44160
+ type: 'string',
44161
+ description: 'Tag id (UUID) as returned by createTag or listTags.',
44162
+ format: 'uuid',
44163
+ },
44164
+ ],
44165
+ response: {
44166
+ type: 'ManagedAgentsTagListResponse',
44167
+ description: "A complete set of organization-scoped tag definitions. GET /v1/tags returns the organization catalog; agent tag PUT routes return the agent's resulting exact set.",
44168
+ fields: [
44169
+ {
44170
+ name: 'tags',
44171
+ required: true,
44172
+ type: 'ManagedAgentsTag[]',
44173
+ description: 'The complete live tag set for this response. Always an array; an empty array means no definitions exist or the agent has no classifications.',
44174
+ items: {
44175
+ type: 'ManagedAgentsTag',
44176
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
44177
+ fields: [
44178
+ {
44179
+ name: 'color',
44180
+ required: false,
44181
+ type: 'string',
44182
+ description: 'Display color in #RRGGBB form.',
44183
+ minLength: 7,
44184
+ maxLength: 7,
44185
+ pattern: '^#[0-9A-Fa-f]{6}$',
44186
+ },
44187
+ {
44188
+ name: 'created_at',
44189
+ required: false,
44190
+ type: 'string',
44191
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
44192
+ format: 'date-time',
44193
+ },
44194
+ {
44195
+ name: 'description',
44196
+ required: false,
44197
+ type: 'string',
44198
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
44199
+ maxLength: 280,
44200
+ },
44201
+ {
44202
+ name: 'label',
44203
+ required: false,
44204
+ type: 'string',
44205
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
44206
+ minLength: 1,
44207
+ maxLength: 32,
44208
+ },
44209
+ {
44210
+ name: 'organization_id',
44211
+ required: false,
44212
+ type: 'string',
44213
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
44214
+ },
44215
+ {
44216
+ name: 'tag_id',
44217
+ required: false,
44218
+ type: 'string',
44219
+ description: 'Server-assigned tag id (UUID).',
44220
+ format: 'uuid',
44221
+ },
44222
+ {
44223
+ name: 'updated_at',
44224
+ required: false,
44225
+ type: 'string',
44226
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
44227
+ format: 'date-time',
44228
+ },
44229
+ ],
44230
+ },
44231
+ },
44232
+ ],
44233
+ },
44234
+ },
44131
44235
  managedAgentsArchiveMemoryStore: {
44132
44236
  operationId: 'managedAgentsArchiveMemoryStore',
44133
44237
  tag: 'managed-agents',
@@ -44477,7 +44581,7 @@ export const SDK_REFERENCE = {
44477
44581
  ],
44478
44582
  response: {
44479
44583
  type: 'ManagedAgentsAgent',
44480
- description: 'A configured agent: its model, system prompt, tool and MCP surface, and the vault defaults new sessions inherit. Mutating an agent mints a new immutable AgentVersion; a session records the version it ran.',
44584
+ description: 'A configured agent: its versioned execution definition plus current mutable classification tags. Patching the execution definition mints a new immutable AgentVersion; applying tags does not. A session records the version it ran and never snapshots tags.',
44481
44585
  fields: [
44482
44586
  {
44483
44587
  name: 'agent_id',
@@ -44639,6 +44743,69 @@ export const SDK_REFERENCE = {
44639
44743
  type: 'string',
44640
44744
  description: 'System prompt prepended to every conversation this agent runs.',
44641
44745
  },
44746
+ {
44747
+ name: 'tags',
44748
+ required: true,
44749
+ type: 'ManagedAgentsTag[]',
44750
+ description: 'Current organization-scoped classification tags applied to this agent. Always an array. Tags are mutable catalog metadata and are deliberately absent from AgentVersion and session runtime snapshots.',
44751
+ items: {
44752
+ type: 'ManagedAgentsTag',
44753
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
44754
+ fields: [
44755
+ {
44756
+ name: 'color',
44757
+ required: false,
44758
+ type: 'string',
44759
+ description: 'Display color in #RRGGBB form.',
44760
+ minLength: 7,
44761
+ maxLength: 7,
44762
+ pattern: '^#[0-9A-Fa-f]{6}$',
44763
+ },
44764
+ {
44765
+ name: 'created_at',
44766
+ required: false,
44767
+ type: 'string',
44768
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
44769
+ format: 'date-time',
44770
+ },
44771
+ {
44772
+ name: 'description',
44773
+ required: false,
44774
+ type: 'string',
44775
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
44776
+ maxLength: 280,
44777
+ },
44778
+ {
44779
+ name: 'label',
44780
+ required: false,
44781
+ type: 'string',
44782
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
44783
+ minLength: 1,
44784
+ maxLength: 32,
44785
+ },
44786
+ {
44787
+ name: 'organization_id',
44788
+ required: false,
44789
+ type: 'string',
44790
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
44791
+ },
44792
+ {
44793
+ name: 'tag_id',
44794
+ required: false,
44795
+ type: 'string',
44796
+ description: 'Server-assigned tag id (UUID).',
44797
+ format: 'uuid',
44798
+ },
44799
+ {
44800
+ name: 'updated_at',
44801
+ required: false,
44802
+ type: 'string',
44803
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
44804
+ format: 'date-time',
44805
+ },
44806
+ ],
44807
+ },
44808
+ },
44642
44809
  {
44643
44810
  name: 'toolsets',
44644
44811
  required: false,
@@ -45654,10 +45821,10 @@ export const SDK_REFERENCE = {
45654
45821
  method: 'createMemory',
45655
45822
  bodyKey: 'body',
45656
45823
  signature: 'rl.managedAgents.createMemory({ memory_store_id, body })',
45657
- example: 'const result = await rl.managedAgents.createMemory({\n memory_store_id: \'<memory_store_id>\',\n body: {\n content: "example",\n content_sha256: "example",\n path: "example",\n summary: "example"\n },\n});',
45824
+ example: 'const result = await rl.managedAgents.createMemory({\n memory_store_id: \'<memory_store_id>\',\n body: {\n content: "example",\n path: "example",\n summary: "example"\n },\n});',
45658
45825
  cliInvocation: 'rl managed-agents create-memory',
45659
- cliExample: 'rl managed-agents create-memory \\\n --memory_store_id <memory_store_id> \\\n --from-json body.json',
45660
- curlExample: 'curl -X POST \'https://api.recursion.labelbox.com/managed-agents/v1/memory_stores/<memory_store_id>/memories\' \\\n -H \'Authorization: Bearer $LABELBOX_API_KEY\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "content": "example",\n "content_sha256": "example",\n "path": "example",\n "summary": "example"\n }\'',
45826
+ cliExample: "rl managed-agents create-memory \\\n --memory_store_id <memory_store_id> \\\n --content 'example' \\\n --path 'example' \\\n --summary 'example'",
45827
+ curlExample: 'curl -X POST \'https://api.recursion.labelbox.com/managed-agents/v1/memory_stores/<memory_store_id>/memories\' \\\n -H \'Authorization: Bearer $LABELBOX_API_KEY\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "content": "example",\n "path": "example",\n "summary": "example"\n }\'',
45661
45828
  summary: 'Create a memory',
45662
45829
  description: 'Adds one memory to a curated store. Does not overwrite: changing an existing path is an update, so a retried request cannot destroy content. A store written by the consolidation loop is not hand-editable, because editing it would put your text under a provenance saying the platform wrote it and the next consolidation would read it as its own prior conclusion.',
45663
45830
  httpMethod: 'post',
@@ -45675,28 +45842,21 @@ export const SDK_REFERENCE = {
45675
45842
  {
45676
45843
  name: 'content',
45677
45844
  in: 'body',
45678
- required: false,
45845
+ required: true,
45679
45846
  type: 'string',
45680
45847
  description: 'Full text of the memory. Capped at 100 kB; memory works better as many small focused documents.',
45681
45848
  },
45682
- {
45683
- name: 'content_sha256',
45684
- in: 'body',
45685
- required: false,
45686
- type: 'string',
45687
- description: 'Apply only if the stored content hash still matches this value. On mismatch the request is a 409 and the caller should re-read and retry.',
45688
- },
45689
45849
  {
45690
45850
  name: 'path',
45691
45851
  in: 'body',
45692
- required: false,
45852
+ required: true,
45693
45853
  type: 'string',
45694
- description: 'Address within the store, e.g. /conventions/testing.md. On update, supplying a different path renames the memory.',
45854
+ description: 'Address within the store, e.g. /conventions/testing.md.',
45695
45855
  },
45696
45856
  {
45697
45857
  name: 'summary',
45698
45858
  in: 'body',
45699
- required: false,
45859
+ required: true,
45700
45860
  type: 'string',
45701
45861
  description: 'One line describing what this memory says, shown in search results and the console.',
45702
45862
  },
@@ -46076,6 +46236,110 @@ export const SDK_REFERENCE = {
46076
46236
  ],
46077
46237
  },
46078
46238
  },
46239
+ managedAgentsCreateTag: {
46240
+ operationId: 'managedAgentsCreateTag',
46241
+ tag: 'managed-agents',
46242
+ callPath: ['managedAgents', 'createTag'],
46243
+ namespace: 'managedAgents',
46244
+ method: 'createTag',
46245
+ bodyKey: 'body',
46246
+ signature: 'rl.managedAgents.createTag({ body })',
46247
+ example: 'const result = await rl.managedAgents.createTag({\n body: {\n color: "#14b8a6",\n description: "example",\n label: "example"\n },\n});',
46248
+ cliInvocation: 'rl managed-agents create-tag',
46249
+ cliExample: "rl managed-agents create-tag \\\n --color '#14b8a6' \\\n --label 'example' \\\n --from-json body.json",
46250
+ curlExample: 'curl -X POST \'https://api.recursion.labelbox.com/managed-agents/v1/tags\' \\\n -H \'Authorization: Bearer $LABELBOX_API_KEY\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "color": "#14b8a6",\n "description": "example",\n "label": "example"\n }\'',
46251
+ summary: 'Create an organization tag',
46252
+ description: 'Creates a mutable classification definition in the calling organization. Labels are trimmed and case-insensitively unique among live tags; deleting a tag releases its label.',
46253
+ httpMethod: 'post',
46254
+ path: '/managed-agents/v1/tags',
46255
+ requiredPermissions: ['managed-agents:create'],
46256
+ params: [
46257
+ {
46258
+ name: 'color',
46259
+ in: 'body',
46260
+ required: true,
46261
+ type: 'string',
46262
+ description: 'Display color in #RRGGBB form.',
46263
+ minLength: 7,
46264
+ maxLength: 7,
46265
+ pattern: '^#[0-9A-Fa-f]{6}$',
46266
+ },
46267
+ {
46268
+ name: 'description',
46269
+ in: 'body',
46270
+ required: false,
46271
+ type: 'string',
46272
+ description: 'Optional operator-facing explanation of this classification, up to 280 characters.',
46273
+ maxLength: 280,
46274
+ },
46275
+ {
46276
+ name: 'label',
46277
+ in: 'body',
46278
+ required: true,
46279
+ type: 'string',
46280
+ description: 'Display label. Leading and trailing whitespace is removed; the result must contain 1-32 characters and be unique case-insensitively among live tags in the organization.',
46281
+ minLength: 1,
46282
+ maxLength: 32,
46283
+ },
46284
+ ],
46285
+ response: {
46286
+ type: 'ManagedAgentsTag',
46287
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
46288
+ fields: [
46289
+ {
46290
+ name: 'color',
46291
+ required: false,
46292
+ type: 'string',
46293
+ description: 'Display color in #RRGGBB form.',
46294
+ minLength: 7,
46295
+ maxLength: 7,
46296
+ pattern: '^#[0-9A-Fa-f]{6}$',
46297
+ },
46298
+ {
46299
+ name: 'created_at',
46300
+ required: false,
46301
+ type: 'string',
46302
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
46303
+ format: 'date-time',
46304
+ },
46305
+ {
46306
+ name: 'description',
46307
+ required: false,
46308
+ type: 'string',
46309
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
46310
+ maxLength: 280,
46311
+ },
46312
+ {
46313
+ name: 'label',
46314
+ required: false,
46315
+ type: 'string',
46316
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
46317
+ minLength: 1,
46318
+ maxLength: 32,
46319
+ },
46320
+ {
46321
+ name: 'organization_id',
46322
+ required: false,
46323
+ type: 'string',
46324
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
46325
+ },
46326
+ {
46327
+ name: 'tag_id',
46328
+ required: false,
46329
+ type: 'string',
46330
+ description: 'Server-assigned tag id (UUID).',
46331
+ format: 'uuid',
46332
+ },
46333
+ {
46334
+ name: 'updated_at',
46335
+ required: false,
46336
+ type: 'string',
46337
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
46338
+ format: 'date-time',
46339
+ },
46340
+ ],
46341
+ },
46342
+ },
46079
46343
  managedAgentsCreateVault: {
46080
46344
  operationId: 'managedAgentsCreateVault',
46081
46345
  tag: 'managed-agents',
@@ -47243,7 +47507,7 @@ export const SDK_REFERENCE = {
47243
47507
  ],
47244
47508
  response: {
47245
47509
  type: 'ManagedAgentsDeletedResponse',
47246
- description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47510
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47247
47511
  fields: [
47248
47512
  {
47249
47513
  name: 'deleted',
@@ -47308,7 +47572,7 @@ export const SDK_REFERENCE = {
47308
47572
  ],
47309
47573
  response: {
47310
47574
  type: 'ManagedAgentsDeletedResponse',
47311
- description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47575
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47312
47576
  fields: [
47313
47577
  {
47314
47578
  name: 'deleted',
@@ -47409,7 +47673,7 @@ export const SDK_REFERENCE = {
47409
47673
  ],
47410
47674
  response: {
47411
47675
  type: 'ManagedAgentsDeletedResponse',
47412
- description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47676
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47413
47677
  fields: [
47414
47678
  {
47415
47679
  name: 'deleted',
@@ -47448,7 +47712,46 @@ export const SDK_REFERENCE = {
47448
47712
  ],
47449
47713
  response: {
47450
47714
  type: 'ManagedAgentsDeletedResponse',
47451
- description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47715
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47716
+ fields: [
47717
+ {
47718
+ name: 'deleted',
47719
+ required: false,
47720
+ type: 'boolean',
47721
+ description: 'Always true. The record was soft deleted and is now excluded from reads; a delete that did not happen is an HTTP error instead, so this field never reports false.',
47722
+ },
47723
+ ],
47724
+ },
47725
+ },
47726
+ managedAgentsDeleteTag: {
47727
+ operationId: 'managedAgentsDeleteTag',
47728
+ tag: 'managed-agents',
47729
+ callPath: ['managedAgents', 'deleteTag'],
47730
+ namespace: 'managedAgents',
47731
+ method: 'deleteTag',
47732
+ signature: 'rl.managedAgents.deleteTag({ tag_id })',
47733
+ example: "const result = await rl.managedAgents.deleteTag({\n tag_id: '<tag_id>',\n});",
47734
+ cliInvocation: 'rl managed-agents delete-tag',
47735
+ cliExample: 'rl managed-agents delete-tag \\\n --tag_id <tag_id>',
47736
+ curlExample: "curl -X DELETE 'https://api.recursion.labelbox.com/managed-agents/v1/tags/<tag_id>' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
47737
+ summary: 'Soft delete a tag',
47738
+ description: 'Soft deletes the bounded definition row. Live-definition joins immediately hide every application without rewriting them; agents and immutable versions are untouched, and the label may be reused.',
47739
+ httpMethod: 'delete',
47740
+ path: '/managed-agents/v1/tags/{tag_id}',
47741
+ requiredPermissions: ['managed-agents:delete'],
47742
+ params: [
47743
+ {
47744
+ name: 'tag_id',
47745
+ in: 'path',
47746
+ required: true,
47747
+ type: 'string',
47748
+ description: 'Tag id (UUID) as returned by createTag or listTags.',
47749
+ format: 'uuid',
47750
+ },
47751
+ ],
47752
+ response: {
47753
+ type: 'ManagedAgentsDeletedResponse',
47754
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47452
47755
  fields: [
47453
47756
  {
47454
47757
  name: 'deleted',
@@ -47487,7 +47790,7 @@ export const SDK_REFERENCE = {
47487
47790
  ],
47488
47791
  response: {
47489
47792
  type: 'ManagedAgentsDeletedResponse',
47490
- description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47793
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47491
47794
  fields: [
47492
47795
  {
47493
47796
  name: 'deleted',
@@ -47526,7 +47829,7 @@ export const SDK_REFERENCE = {
47526
47829
  ],
47527
47830
  response: {
47528
47831
  type: 'ManagedAgentsDeletedResponse',
47529
- description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47832
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47530
47833
  fields: [
47531
47834
  {
47532
47835
  name: 'deleted',
@@ -47573,7 +47876,7 @@ export const SDK_REFERENCE = {
47573
47876
  ],
47574
47877
  response: {
47575
47878
  type: 'ManagedAgentsDeletedResponse',
47576
- description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47879
+ description: 'Shared response body of every soft-delete endpoint, on agents, environments, environment worker keys, tags, vaults, vault credentials, webhook bindings, and sessions. Soft delete is a tombstone, not an erase: the row stops appearing in list and get responses but is retained, and there is no undelete endpoint to bring it back. Irreversible erasure is the separate, confirmation-gated purge path.',
47577
47880
  fields: [
47578
47881
  {
47579
47882
  name: 'deleted',
@@ -47638,7 +47941,7 @@ export const SDK_REFERENCE = {
47638
47941
  ],
47639
47942
  response: {
47640
47943
  type: 'ManagedAgentsAgent',
47641
- description: 'A configured agent: its model, system prompt, tool and MCP surface, and the vault defaults new sessions inherit. Mutating an agent mints a new immutable AgentVersion; a session records the version it ran.',
47944
+ description: 'A configured agent: its versioned execution definition plus current mutable classification tags. Patching the execution definition mints a new immutable AgentVersion; applying tags does not. A session records the version it ran and never snapshots tags.',
47642
47945
  fields: [
47643
47946
  {
47644
47947
  name: 'agent_id',
@@ -47801,48 +48104,111 @@ export const SDK_REFERENCE = {
47801
48104
  description: 'System prompt prepended to every conversation this agent runs.',
47802
48105
  },
47803
48106
  {
47804
- name: 'toolsets',
47805
- required: false,
47806
- type: 'unknown',
47807
- description: 'Additional tool groups to enable, snapshotted into the session and passed to the execution runtime unchanged. This does NOT gate the sandbox tools: run_command, run_process, read_file and write_file are offered to every session with a sandbox whether or not this list mentions them, so a shell needs no entry here. The names a session actually offers the model are reported as config.available_builtin_tools on the started session -- read that rather than inferring the tool surface from this list.',
47808
- },
47809
- {
47810
- name: 'updated_at',
47811
- required: false,
47812
- type: 'string',
47813
- description: 'Server-assigned RFC 3339 timestamp of the most recent update to the agent.',
47814
- format: 'date-time',
47815
- },
47816
- {
47817
- name: 'web_search_enabled',
47818
- required: false,
47819
- type: 'boolean',
47820
- description: 'Whether new sessions may use the native web_search tool. Omitted on legacy agents and interpreted as enabled.',
47821
- default: true,
47822
- },
47823
- ],
47824
- },
47825
- },
47826
- managedAgentsGetAgentLearning: {
47827
- operationId: 'managedAgentsGetAgentLearning',
47828
- tag: 'managed-agents',
47829
- callPath: ['managedAgents', 'getAgentLearning'],
47830
- namespace: 'managedAgents',
47831
- method: 'getAgentLearning',
47832
- signature: 'rl.managedAgents.getAgentLearning({ agent_id })',
47833
- example: "const result = await rl.managedAgents.getAgentLearning({\n agent_id: '<agent_id>',\n});",
47834
- cliInvocation: 'rl managed-agents get-agent-learning',
47835
- cliExample: 'rl managed-agents get-agent-learning \\\n --agent_id <agent_id>',
47836
- curlExample: "curl -X GET 'https://api.recursion.labelbox.com/managed-agents/v1/agents/<agent_id>/learning' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
47837
- summary: "Get an agent's learning configuration",
47838
- description: 'Returns whether this agent learns from its own sessions, and on what schedule. The response is normalized, so the thresholds shown are the ones actually in force rather than the empty fields that mean "use the default".',
47839
- httpMethod: 'get',
47840
- path: '/managed-agents/v1/agents/{agent_id}/learning',
47841
- requiredPermissions: ['managed-agents:read'],
47842
- params: [
47843
- {
47844
- name: 'agent_id',
47845
- in: 'path',
48107
+ name: 'tags',
48108
+ required: true,
48109
+ type: 'ManagedAgentsTag[]',
48110
+ description: 'Current organization-scoped classification tags applied to this agent. Always an array. Tags are mutable catalog metadata and are deliberately absent from AgentVersion and session runtime snapshots.',
48111
+ items: {
48112
+ type: 'ManagedAgentsTag',
48113
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
48114
+ fields: [
48115
+ {
48116
+ name: 'color',
48117
+ required: false,
48118
+ type: 'string',
48119
+ description: 'Display color in #RRGGBB form.',
48120
+ minLength: 7,
48121
+ maxLength: 7,
48122
+ pattern: '^#[0-9A-Fa-f]{6}$',
48123
+ },
48124
+ {
48125
+ name: 'created_at',
48126
+ required: false,
48127
+ type: 'string',
48128
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
48129
+ format: 'date-time',
48130
+ },
48131
+ {
48132
+ name: 'description',
48133
+ required: false,
48134
+ type: 'string',
48135
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
48136
+ maxLength: 280,
48137
+ },
48138
+ {
48139
+ name: 'label',
48140
+ required: false,
48141
+ type: 'string',
48142
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
48143
+ minLength: 1,
48144
+ maxLength: 32,
48145
+ },
48146
+ {
48147
+ name: 'organization_id',
48148
+ required: false,
48149
+ type: 'string',
48150
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
48151
+ },
48152
+ {
48153
+ name: 'tag_id',
48154
+ required: false,
48155
+ type: 'string',
48156
+ description: 'Server-assigned tag id (UUID).',
48157
+ format: 'uuid',
48158
+ },
48159
+ {
48160
+ name: 'updated_at',
48161
+ required: false,
48162
+ type: 'string',
48163
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
48164
+ format: 'date-time',
48165
+ },
48166
+ ],
48167
+ },
48168
+ },
48169
+ {
48170
+ name: 'toolsets',
48171
+ required: false,
48172
+ type: 'unknown',
48173
+ description: 'Additional tool groups to enable, snapshotted into the session and passed to the execution runtime unchanged. This does NOT gate the sandbox tools: run_command, run_process, read_file and write_file are offered to every session with a sandbox whether or not this list mentions them, so a shell needs no entry here. The names a session actually offers the model are reported as config.available_builtin_tools on the started session -- read that rather than inferring the tool surface from this list.',
48174
+ },
48175
+ {
48176
+ name: 'updated_at',
48177
+ required: false,
48178
+ type: 'string',
48179
+ description: 'Server-assigned RFC 3339 timestamp of the most recent update to the agent.',
48180
+ format: 'date-time',
48181
+ },
48182
+ {
48183
+ name: 'web_search_enabled',
48184
+ required: false,
48185
+ type: 'boolean',
48186
+ description: 'Whether new sessions may use the native web_search tool. Omitted on legacy agents and interpreted as enabled.',
48187
+ default: true,
48188
+ },
48189
+ ],
48190
+ },
48191
+ },
48192
+ managedAgentsGetAgentLearning: {
48193
+ operationId: 'managedAgentsGetAgentLearning',
48194
+ tag: 'managed-agents',
48195
+ callPath: ['managedAgents', 'getAgentLearning'],
48196
+ namespace: 'managedAgents',
48197
+ method: 'getAgentLearning',
48198
+ signature: 'rl.managedAgents.getAgentLearning({ agent_id })',
48199
+ example: "const result = await rl.managedAgents.getAgentLearning({\n agent_id: '<agent_id>',\n});",
48200
+ cliInvocation: 'rl managed-agents get-agent-learning',
48201
+ cliExample: 'rl managed-agents get-agent-learning \\\n --agent_id <agent_id>',
48202
+ curlExample: "curl -X GET 'https://api.recursion.labelbox.com/managed-agents/v1/agents/<agent_id>/learning' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
48203
+ summary: "Get an agent's learning configuration",
48204
+ description: 'Returns whether this agent learns from its own sessions, and on what schedule. The response is normalized, so the thresholds shown are the ones actually in force rather than the empty fields that mean "use the default".',
48205
+ httpMethod: 'get',
48206
+ path: '/managed-agents/v1/agents/{agent_id}/learning',
48207
+ requiredPermissions: ['managed-agents:read'],
48208
+ params: [
48209
+ {
48210
+ name: 'agent_id',
48211
+ in: 'path',
47846
48212
  required: true,
47847
48213
  type: 'string',
47848
48214
  description: 'Agent id (UUID) as returned by createAgent or listAgents.',
@@ -51269,6 +51635,90 @@ export const SDK_REFERENCE = {
51269
51635
  ],
51270
51636
  },
51271
51637
  },
51638
+ managedAgentsGetTag: {
51639
+ operationId: 'managedAgentsGetTag',
51640
+ tag: 'managed-agents',
51641
+ callPath: ['managedAgents', 'getTag'],
51642
+ namespace: 'managedAgents',
51643
+ method: 'getTag',
51644
+ signature: 'rl.managedAgents.getTag({ tag_id })',
51645
+ example: "const result = await rl.managedAgents.getTag({\n tag_id: '<tag_id>',\n});",
51646
+ cliInvocation: 'rl managed-agents get-tag',
51647
+ cliExample: 'rl managed-agents get-tag \\\n --tag_id <tag_id>',
51648
+ curlExample: "curl -X GET 'https://api.recursion.labelbox.com/managed-agents/v1/tags/<tag_id>' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
51649
+ summary: 'Get one organization tag',
51650
+ description: 'Returns one live tag definition. Unknown, deleted, and cross-organization ids all return the same 404.',
51651
+ httpMethod: 'get',
51652
+ path: '/managed-agents/v1/tags/{tag_id}',
51653
+ requiredPermissions: ['managed-agents:read'],
51654
+ params: [
51655
+ {
51656
+ name: 'tag_id',
51657
+ in: 'path',
51658
+ required: true,
51659
+ type: 'string',
51660
+ description: 'Tag id (UUID) as returned by createTag or listTags.',
51661
+ format: 'uuid',
51662
+ },
51663
+ ],
51664
+ response: {
51665
+ type: 'ManagedAgentsTag',
51666
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
51667
+ fields: [
51668
+ {
51669
+ name: 'color',
51670
+ required: false,
51671
+ type: 'string',
51672
+ description: 'Display color in #RRGGBB form.',
51673
+ minLength: 7,
51674
+ maxLength: 7,
51675
+ pattern: '^#[0-9A-Fa-f]{6}$',
51676
+ },
51677
+ {
51678
+ name: 'created_at',
51679
+ required: false,
51680
+ type: 'string',
51681
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
51682
+ format: 'date-time',
51683
+ },
51684
+ {
51685
+ name: 'description',
51686
+ required: false,
51687
+ type: 'string',
51688
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
51689
+ maxLength: 280,
51690
+ },
51691
+ {
51692
+ name: 'label',
51693
+ required: false,
51694
+ type: 'string',
51695
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
51696
+ minLength: 1,
51697
+ maxLength: 32,
51698
+ },
51699
+ {
51700
+ name: 'organization_id',
51701
+ required: false,
51702
+ type: 'string',
51703
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
51704
+ },
51705
+ {
51706
+ name: 'tag_id',
51707
+ required: false,
51708
+ type: 'string',
51709
+ description: 'Server-assigned tag id (UUID).',
51710
+ format: 'uuid',
51711
+ },
51712
+ {
51713
+ name: 'updated_at',
51714
+ required: false,
51715
+ type: 'string',
51716
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
51717
+ format: 'date-time',
51718
+ },
51719
+ ],
51720
+ },
51721
+ },
51272
51722
  managedAgentsGetVault: {
51273
51723
  operationId: 'managedAgentsGetVault',
51274
51724
  tag: 'managed-agents',
@@ -51861,16 +52311,24 @@ export const SDK_REFERENCE = {
51861
52311
  namespace: 'managedAgents',
51862
52312
  method: 'listAgents',
51863
52313
  signature: 'rl.managedAgents.listAgents()',
51864
- example: 'const result = await rl.managedAgents.listAgents();',
52314
+ example: 'const result = await rl.managedAgents.listAgents({\n // optional: tag_ids\n});',
51865
52315
  cliInvocation: 'rl managed-agents list-agents',
51866
52316
  cliExample: 'rl managed-agents list-agents',
51867
52317
  curlExample: "curl -X GET 'https://api.recursion.labelbox.com/managed-agents/v1/agents' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
51868
52318
  summary: 'List agents',
51869
- description: 'Returns every agent in the calling organization, each resolved to its latest immutable version. Soft-deleted agents are omitted, and the response is not paginated.',
52319
+ description: 'Returns every agent in the calling organization, each resolved to its latest immutable version and hydrated with current tag definitions in one batch. tag_ids is a comma-separated AND filter: every returned agent carries every requested tag. Soft-deleted agents are omitted, and the response is not paginated.',
51870
52320
  httpMethod: 'get',
51871
52321
  path: '/managed-agents/v1/agents',
51872
52322
  requiredPermissions: ['managed-agents:read'],
51873
- params: [],
52323
+ params: [
52324
+ {
52325
+ name: 'tag_ids',
52326
+ in: 'query',
52327
+ required: false,
52328
+ type: 'string',
52329
+ description: 'Comma-separated tag ids, with at most 32 distinct ids. Blank segments are ignored. An agent must carry every requested tag (AND semantics). Unknown or cross-organization ids return 404.',
52330
+ },
52331
+ ],
51874
52332
  response: {
51875
52333
  type: 'ManagedAgentsAgentListResponse',
51876
52334
  description: "Response body of GET /v1/agents. Unpaginated: the whole organization is returned in one document, so callers need no cursor here. Each row is the agent's current mutable definition; its immutable snapshots are listed by GET /v1/agents/{agent_id}/versions.",
@@ -52628,12 +53086,12 @@ export const SDK_REFERENCE = {
52628
53086
  namespace: 'managedAgents',
52629
53087
  method: 'listSessions',
52630
53088
  signature: 'rl.managedAgents.listSessions()',
52631
- example: 'const result = await rl.managedAgents.listSessions({\n // optional: status, kind, agent_id, external_source_type, external_source_id, root_only, limit\n});',
53089
+ example: 'const result = await rl.managedAgents.listSessions({\n // optional: status, kind, agent_id, tag_ids, external_source_type, external_source_id, root_only, limit\n});',
52632
53090
  cliInvocation: 'rl managed-agents list-sessions',
52633
53091
  cliExample: 'rl managed-agents list-sessions',
52634
53092
  curlExample: "curl -X GET 'https://api.recursion.labelbox.com/managed-agents/v1/sessions' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
52635
53093
  summary: 'List sessions',
52636
- description: 'Returns sessions in the calling organization, most recent first, filtered by any combination of status, kind, agent_id, and external source. kind accepts a comma-separated list, which is how a caller selects agent sessions without RL rollouts. Capped by limit (default 100, max 1000) rather than cursor-paginated.',
53094
+ description: 'Returns sessions in the calling organization, most recent first, filtered by any combination of status, kind, agent_id, current agent tag_ids, and external source. kind accepts a comma-separated list, while tag_ids uses AND semantics. Capped by limit (default 100, max 1000) rather than cursor-paginated.',
52637
53095
  httpMethod: 'get',
52638
53096
  path: '/managed-agents/v1/sessions',
52639
53097
  requiredPermissions: ['managed-agents:read'],
@@ -52659,6 +53117,13 @@ export const SDK_REFERENCE = {
52659
53117
  type: 'string',
52660
53118
  description: 'Filter by agent id.',
52661
53119
  },
53120
+ {
53121
+ name: 'tag_ids',
53122
+ in: 'query',
53123
+ required: false,
53124
+ type: 'string',
53125
+ description: "Comma-separated current agent tag ids, with at most 32 distinct ids. A session row's agent must carry every requested tag (AND semantics). Unknown or cross-organization ids return 404. Tags are resolved at read time, not from the session snapshot.",
53126
+ },
52662
53127
  {
52663
53128
  name: 'external_source_type',
52664
53129
  in: 'query',
@@ -52769,6 +53234,93 @@ export const SDK_REFERENCE = {
52769
53234
  ],
52770
53235
  },
52771
53236
  },
53237
+ managedAgentsListTags: {
53238
+ operationId: 'managedAgentsListTags',
53239
+ tag: 'managed-agents',
53240
+ callPath: ['managedAgents', 'listTags'],
53241
+ namespace: 'managedAgents',
53242
+ method: 'listTags',
53243
+ signature: 'rl.managedAgents.listTags()',
53244
+ example: 'const result = await rl.managedAgents.listTags();',
53245
+ cliInvocation: 'rl managed-agents list-tags',
53246
+ cliExample: 'rl managed-agents list-tags',
53247
+ curlExample: "curl -X GET 'https://api.recursion.labelbox.com/managed-agents/v1/tags' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
53248
+ summary: 'List organization tags',
53249
+ description: 'Returns every live tag definition in the calling organization. The list is bounded by the 200-tag organization quota and is not paginated.',
53250
+ httpMethod: 'get',
53251
+ path: '/managed-agents/v1/tags',
53252
+ requiredPermissions: ['managed-agents:read'],
53253
+ params: [],
53254
+ response: {
53255
+ type: 'ManagedAgentsTagListResponse',
53256
+ description: "A complete set of organization-scoped tag definitions. GET /v1/tags returns the organization catalog; agent tag PUT routes return the agent's resulting exact set.",
53257
+ fields: [
53258
+ {
53259
+ name: 'tags',
53260
+ required: true,
53261
+ type: 'ManagedAgentsTag[]',
53262
+ description: 'The complete live tag set for this response. Always an array; an empty array means no definitions exist or the agent has no classifications.',
53263
+ items: {
53264
+ type: 'ManagedAgentsTag',
53265
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
53266
+ fields: [
53267
+ {
53268
+ name: 'color',
53269
+ required: false,
53270
+ type: 'string',
53271
+ description: 'Display color in #RRGGBB form.',
53272
+ minLength: 7,
53273
+ maxLength: 7,
53274
+ pattern: '^#[0-9A-Fa-f]{6}$',
53275
+ },
53276
+ {
53277
+ name: 'created_at',
53278
+ required: false,
53279
+ type: 'string',
53280
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
53281
+ format: 'date-time',
53282
+ },
53283
+ {
53284
+ name: 'description',
53285
+ required: false,
53286
+ type: 'string',
53287
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
53288
+ maxLength: 280,
53289
+ },
53290
+ {
53291
+ name: 'label',
53292
+ required: false,
53293
+ type: 'string',
53294
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
53295
+ minLength: 1,
53296
+ maxLength: 32,
53297
+ },
53298
+ {
53299
+ name: 'organization_id',
53300
+ required: false,
53301
+ type: 'string',
53302
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
53303
+ },
53304
+ {
53305
+ name: 'tag_id',
53306
+ required: false,
53307
+ type: 'string',
53308
+ description: 'Server-assigned tag id (UUID).',
53309
+ format: 'uuid',
53310
+ },
53311
+ {
53312
+ name: 'updated_at',
53313
+ required: false,
53314
+ type: 'string',
53315
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
53316
+ format: 'date-time',
53317
+ },
53318
+ ],
53319
+ },
53320
+ },
53321
+ ],
53322
+ },
53323
+ },
52772
53324
  managedAgentsListTriggerBindings: {
52773
53325
  operationId: 'managedAgentsListTriggerBindings',
52774
53326
  tag: 'managed-agents',
@@ -53205,6 +53757,145 @@ export const SDK_REFERENCE = {
53205
53757
  },
53206
53758
  ],
53207
53759
  },
53760
+ managedAgentsRemoveAgentTag: {
53761
+ operationId: 'managedAgentsRemoveAgentTag',
53762
+ tag: 'managed-agents',
53763
+ callPath: ['managedAgents', 'removeAgentTag'],
53764
+ namespace: 'managedAgents',
53765
+ method: 'removeAgentTag',
53766
+ signature: 'rl.managedAgents.removeAgentTag({ agent_id, tag_id })',
53767
+ example: "const result = await rl.managedAgents.removeAgentTag({\n agent_id: '<agent_id>',\n tag_id: '<tag_id>',\n});",
53768
+ cliInvocation: 'rl managed-agents remove-agent-tag',
53769
+ cliExample: 'rl managed-agents remove-agent-tag \\\n --agent_id <agent_id> \\\n --tag_id <tag_id>',
53770
+ curlExample: "curl -X DELETE 'https://api.recursion.labelbox.com/managed-agents/v1/agents/<agent_id>/tags/<tag_id>' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY'",
53771
+ summary: 'Remove one tag from an agent',
53772
+ description: 'Removes the application and returns 204. Retrying after the relationship is already absent also returns 204; the agent and tag must still exist in the calling organization.',
53773
+ httpMethod: 'delete',
53774
+ path: '/managed-agents/v1/agents/{agent_id}/tags/{tag_id}',
53775
+ requiredPermissions: ['managed-agents:update'],
53776
+ params: [
53777
+ {
53778
+ name: 'agent_id',
53779
+ in: 'path',
53780
+ required: true,
53781
+ type: 'string',
53782
+ description: 'Agent id (UUID) as returned by createAgent or listAgents.',
53783
+ format: 'uuid',
53784
+ },
53785
+ {
53786
+ name: 'tag_id',
53787
+ in: 'path',
53788
+ required: true,
53789
+ type: 'string',
53790
+ description: 'Tag id (UUID) as returned by createTag or listTags.',
53791
+ format: 'uuid',
53792
+ },
53793
+ ],
53794
+ },
53795
+ managedAgentsReplaceAgentTags: {
53796
+ operationId: 'managedAgentsReplaceAgentTags',
53797
+ tag: 'managed-agents',
53798
+ callPath: ['managedAgents', 'replaceAgentTags'],
53799
+ namespace: 'managedAgents',
53800
+ method: 'replaceAgentTags',
53801
+ bodyKey: 'body',
53802
+ signature: 'rl.managedAgents.replaceAgentTags({ agent_id, body })',
53803
+ example: 'const result = await rl.managedAgents.replaceAgentTags({\n agent_id: \'<agent_id>\',\n body: {\n tag_ids: [\n "example"\n ]\n },\n});',
53804
+ cliInvocation: 'rl managed-agents replace-agent-tags',
53805
+ cliExample: 'rl managed-agents replace-agent-tags \\\n --agent_id <agent_id> \\\n --from-json body.json',
53806
+ curlExample: "curl -X PUT 'https://api.recursion.labelbox.com/managed-agents/v1/agents/<agent_id>/tags' \\\n -H 'Authorization: Bearer $LABELBOX_API_KEY' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"tag_ids\": [\n \"example\"\n ]\n }'",
53807
+ summary: "Replace an agent's complete tag set",
53808
+ description: "Atomically replaces the agent's classifications with tag_ids and returns the resulting full definitions. Every id must be live in the calling organization; [] clears the set. This never changes agent.updated_at or mints an AgentVersion.",
53809
+ httpMethod: 'put',
53810
+ path: '/managed-agents/v1/agents/{agent_id}/tags',
53811
+ requiredPermissions: ['managed-agents:update'],
53812
+ params: [
53813
+ {
53814
+ name: 'agent_id',
53815
+ in: 'path',
53816
+ required: true,
53817
+ type: 'string',
53818
+ description: 'Agent id (UUID) whose classifications are replaced.',
53819
+ format: 'uuid',
53820
+ },
53821
+ {
53822
+ name: 'tag_ids',
53823
+ in: 'body',
53824
+ required: true,
53825
+ type: 'string[]',
53826
+ description: "Complete replacement set of tag ids, with at most 32 distinct ids. Every id must be a live tag in the caller's organization. Duplicates are collapsed before enforcing the limit; [] removes every tag.",
53827
+ },
53828
+ ],
53829
+ response: {
53830
+ type: 'ManagedAgentsTagListResponse',
53831
+ description: "A complete set of organization-scoped tag definitions. GET /v1/tags returns the organization catalog; agent tag PUT routes return the agent's resulting exact set.",
53832
+ fields: [
53833
+ {
53834
+ name: 'tags',
53835
+ required: true,
53836
+ type: 'ManagedAgentsTag[]',
53837
+ description: 'The complete live tag set for this response. Always an array; an empty array means no definitions exist or the agent has no classifications.',
53838
+ items: {
53839
+ type: 'ManagedAgentsTag',
53840
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
53841
+ fields: [
53842
+ {
53843
+ name: 'color',
53844
+ required: false,
53845
+ type: 'string',
53846
+ description: 'Display color in #RRGGBB form.',
53847
+ minLength: 7,
53848
+ maxLength: 7,
53849
+ pattern: '^#[0-9A-Fa-f]{6}$',
53850
+ },
53851
+ {
53852
+ name: 'created_at',
53853
+ required: false,
53854
+ type: 'string',
53855
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
53856
+ format: 'date-time',
53857
+ },
53858
+ {
53859
+ name: 'description',
53860
+ required: false,
53861
+ type: 'string',
53862
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
53863
+ maxLength: 280,
53864
+ },
53865
+ {
53866
+ name: 'label',
53867
+ required: false,
53868
+ type: 'string',
53869
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
53870
+ minLength: 1,
53871
+ maxLength: 32,
53872
+ },
53873
+ {
53874
+ name: 'organization_id',
53875
+ required: false,
53876
+ type: 'string',
53877
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
53878
+ },
53879
+ {
53880
+ name: 'tag_id',
53881
+ required: false,
53882
+ type: 'string',
53883
+ description: 'Server-assigned tag id (UUID).',
53884
+ format: 'uuid',
53885
+ },
53886
+ {
53887
+ name: 'updated_at',
53888
+ required: false,
53889
+ type: 'string',
53890
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
53891
+ format: 'date-time',
53892
+ },
53893
+ ],
53894
+ },
53895
+ },
53896
+ ],
53897
+ },
53898
+ },
53208
53899
  managedAgentsRestoreMemoryVersion: {
53209
53900
  operationId: 'managedAgentsRestoreMemoryVersion',
53210
53901
  tag: 'managed-agents',
@@ -54073,7 +54764,7 @@ export const SDK_REFERENCE = {
54073
54764
  ],
54074
54765
  response: {
54075
54766
  type: 'ManagedAgentsAgent',
54076
- description: 'A configured agent: its model, system prompt, tool and MCP surface, and the vault defaults new sessions inherit. Mutating an agent mints a new immutable AgentVersion; a session records the version it ran.',
54767
+ description: 'A configured agent: its versioned execution definition plus current mutable classification tags. Patching the execution definition mints a new immutable AgentVersion; applying tags does not. A session records the version it ran and never snapshots tags.',
54077
54768
  fields: [
54078
54769
  {
54079
54770
  name: 'agent_id',
@@ -54235,6 +54926,69 @@ export const SDK_REFERENCE = {
54235
54926
  type: 'string',
54236
54927
  description: 'System prompt prepended to every conversation this agent runs.',
54237
54928
  },
54929
+ {
54930
+ name: 'tags',
54931
+ required: true,
54932
+ type: 'ManagedAgentsTag[]',
54933
+ description: 'Current organization-scoped classification tags applied to this agent. Always an array. Tags are mutable catalog metadata and are deliberately absent from AgentVersion and session runtime snapshots.',
54934
+ items: {
54935
+ type: 'ManagedAgentsTag',
54936
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
54937
+ fields: [
54938
+ {
54939
+ name: 'color',
54940
+ required: false,
54941
+ type: 'string',
54942
+ description: 'Display color in #RRGGBB form.',
54943
+ minLength: 7,
54944
+ maxLength: 7,
54945
+ pattern: '^#[0-9A-Fa-f]{6}$',
54946
+ },
54947
+ {
54948
+ name: 'created_at',
54949
+ required: false,
54950
+ type: 'string',
54951
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
54952
+ format: 'date-time',
54953
+ },
54954
+ {
54955
+ name: 'description',
54956
+ required: false,
54957
+ type: 'string',
54958
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
54959
+ maxLength: 280,
54960
+ },
54961
+ {
54962
+ name: 'label',
54963
+ required: false,
54964
+ type: 'string',
54965
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
54966
+ minLength: 1,
54967
+ maxLength: 32,
54968
+ },
54969
+ {
54970
+ name: 'organization_id',
54971
+ required: false,
54972
+ type: 'string',
54973
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
54974
+ },
54975
+ {
54976
+ name: 'tag_id',
54977
+ required: false,
54978
+ type: 'string',
54979
+ description: 'Server-assigned tag id (UUID).',
54980
+ format: 'uuid',
54981
+ },
54982
+ {
54983
+ name: 'updated_at',
54984
+ required: false,
54985
+ type: 'string',
54986
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
54987
+ format: 'date-time',
54988
+ },
54989
+ ],
54990
+ },
54991
+ },
54238
54992
  {
54239
54993
  name: 'toolsets',
54240
54994
  required: false,
@@ -55742,6 +56496,118 @@ export const SDK_REFERENCE = {
55742
56496
  ],
55743
56497
  },
55744
56498
  },
56499
+ managedAgentsUpdateTag: {
56500
+ operationId: 'managedAgentsUpdateTag',
56501
+ tag: 'managed-agents',
56502
+ callPath: ['managedAgents', 'updateTag'],
56503
+ namespace: 'managedAgents',
56504
+ method: 'updateTag',
56505
+ bodyKey: 'body',
56506
+ signature: 'rl.managedAgents.updateTag({ tag_id, body })',
56507
+ example: 'const result = await rl.managedAgents.updateTag({\n tag_id: \'<tag_id>\',\n body: {\n color: "#14b8a6",\n description: "example",\n label: "example"\n },\n});',
56508
+ cliInvocation: 'rl managed-agents update-tag',
56509
+ cliExample: 'rl managed-agents update-tag \\\n --tag_id <tag_id> \\\n --from-json body.json',
56510
+ curlExample: 'curl -X PATCH \'https://api.recursion.labelbox.com/managed-agents/v1/tags/<tag_id>\' \\\n -H \'Authorization: Bearer $LABELBOX_API_KEY\' \\\n -H \'Content-Type: application/json\' \\\n -d \'{\n "color": "#14b8a6",\n "description": "example",\n "label": "example"\n }\'',
56511
+ summary: 'Update a tag definition',
56512
+ description: "Changes a tag's label, color, or description without changing any application. This does not update an agent, mint an AgentVersion, or affect a running session.",
56513
+ httpMethod: 'patch',
56514
+ path: '/managed-agents/v1/tags/{tag_id}',
56515
+ requiredPermissions: ['managed-agents:update'],
56516
+ params: [
56517
+ {
56518
+ name: 'tag_id',
56519
+ in: 'path',
56520
+ required: true,
56521
+ type: 'string',
56522
+ description: 'Tag id (UUID) as returned by createTag or listTags.',
56523
+ format: 'uuid',
56524
+ },
56525
+ {
56526
+ name: 'color',
56527
+ in: 'body',
56528
+ required: false,
56529
+ type: 'string',
56530
+ description: 'Replacement display color in #RRGGBB form. Omit to keep the current color.',
56531
+ minLength: 7,
56532
+ maxLength: 7,
56533
+ pattern: '^#[0-9A-Fa-f]{6}$',
56534
+ },
56535
+ {
56536
+ name: 'description',
56537
+ in: 'body',
56538
+ required: false,
56539
+ type: 'string',
56540
+ description: 'Replacement description. Send an empty string to clear it; omit to keep the current description.',
56541
+ maxLength: 280,
56542
+ },
56543
+ {
56544
+ name: 'label',
56545
+ in: 'body',
56546
+ required: false,
56547
+ type: 'string',
56548
+ description: 'Replacement display label. Leading and trailing whitespace is removed. Omit to keep the current label.',
56549
+ minLength: 1,
56550
+ maxLength: 32,
56551
+ },
56552
+ ],
56553
+ response: {
56554
+ type: 'ManagedAgentsTag',
56555
+ description: 'An organization-scoped classification definition. Applying or removing it changes only catalog membership: it does not update the agent, mint an AgentVersion, or affect running sessions.',
56556
+ fields: [
56557
+ {
56558
+ name: 'color',
56559
+ required: false,
56560
+ type: 'string',
56561
+ description: 'Display color in #RRGGBB form.',
56562
+ minLength: 7,
56563
+ maxLength: 7,
56564
+ pattern: '^#[0-9A-Fa-f]{6}$',
56565
+ },
56566
+ {
56567
+ name: 'created_at',
56568
+ required: false,
56569
+ type: 'string',
56570
+ description: 'Server-assigned RFC 3339 timestamp of when the tag was created.',
56571
+ format: 'date-time',
56572
+ },
56573
+ {
56574
+ name: 'description',
56575
+ required: false,
56576
+ type: 'string',
56577
+ description: 'Optional operator-facing explanation of the classification, up to 280 characters.',
56578
+ maxLength: 280,
56579
+ },
56580
+ {
56581
+ name: 'label',
56582
+ required: false,
56583
+ type: 'string',
56584
+ description: 'Display label, trimmed by the service. Unique case-insensitively among live tags in this organization.',
56585
+ minLength: 1,
56586
+ maxLength: 32,
56587
+ },
56588
+ {
56589
+ name: 'organization_id',
56590
+ required: false,
56591
+ type: 'string',
56592
+ description: 'Labelbox organization that owns the tag. Server-assigned from the authenticated principal and never accepted as authority from the request body.',
56593
+ },
56594
+ {
56595
+ name: 'tag_id',
56596
+ required: false,
56597
+ type: 'string',
56598
+ description: 'Server-assigned tag id (UUID).',
56599
+ format: 'uuid',
56600
+ },
56601
+ {
56602
+ name: 'updated_at',
56603
+ required: false,
56604
+ type: 'string',
56605
+ description: 'Server-assigned RFC 3339 timestamp of the most recent definition update.',
56606
+ format: 'date-time',
56607
+ },
56608
+ ],
56609
+ },
56610
+ },
55745
56611
  managedAgentsUpdateTriggerBinding: {
55746
56612
  operationId: 'managedAgentsUpdateTriggerBinding',
55747
56613
  tag: 'managed-agents',