@epilot/sdk 2.18.8 → 2.18.10

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 (136) hide show
  1. package/definitions/ai-agents-runtime.json +1 -1
  2. package/definitions/ai-agents.json +185 -0
  3. package/definitions/automation.json +177 -0
  4. package/dist/ai-agents-3JK4UU2G.js +7 -0
  5. package/dist/ai-agents-XST3YUFA.cjs +7 -0
  6. package/dist/{ai-agents-runtime-EA23HCCP.js → ai-agents-runtime-HOBR2KUZ.js} +1 -1
  7. package/dist/{ai-agents-runtime-WZ3EI3NH.cjs → ai-agents-runtime-T62OQDWE.cjs} +2 -2
  8. package/dist/{ai-agents.d-D-7bTH-9.d.cts → ai-agents.d-BnR7CAeJ.d.cts} +91 -1
  9. package/dist/{ai-agents.d-D-7bTH-9.d.ts → ai-agents.d-BnR7CAeJ.d.ts} +91 -1
  10. package/dist/apis/access-token.cjs +6 -6
  11. package/dist/apis/access-token.js +1 -1
  12. package/dist/apis/address-suggestions.cjs +6 -6
  13. package/dist/apis/address-suggestions.js +1 -1
  14. package/dist/apis/address.cjs +6 -6
  15. package/dist/apis/address.js +1 -1
  16. package/dist/apis/ai-agents.cjs +8 -8
  17. package/dist/apis/ai-agents.d.cts +2 -2
  18. package/dist/apis/ai-agents.d.ts +2 -2
  19. package/dist/apis/ai-agents.js +2 -2
  20. package/dist/apis/app.cjs +6 -6
  21. package/dist/apis/app.js +1 -1
  22. package/dist/apis/audit-logs.cjs +6 -6
  23. package/dist/apis/audit-logs.js +1 -1
  24. package/dist/apis/automation.cjs +6 -6
  25. package/dist/apis/automation.d.cts +2 -2
  26. package/dist/apis/automation.d.ts +2 -2
  27. package/dist/apis/automation.js +1 -1
  28. package/dist/apis/billing.cjs +6 -6
  29. package/dist/apis/billing.js +1 -1
  30. package/dist/apis/blueprint-manifest.cjs +6 -6
  31. package/dist/apis/blueprint-manifest.js +1 -1
  32. package/dist/apis/calendar.cjs +6 -6
  33. package/dist/apis/calendar.js +1 -1
  34. package/dist/apis/configuration-hub.cjs +6 -6
  35. package/dist/apis/configuration-hub.js +1 -1
  36. package/dist/apis/consent.cjs +6 -6
  37. package/dist/apis/consent.js +1 -1
  38. package/dist/apis/customer-portal.cjs +6 -6
  39. package/dist/apis/customer-portal.js +1 -1
  40. package/dist/apis/dashboard.cjs +6 -6
  41. package/dist/apis/dashboard.js +1 -1
  42. package/dist/apis/data-governance.cjs +6 -6
  43. package/dist/apis/data-governance.js +1 -1
  44. package/dist/apis/deduplication.cjs +6 -6
  45. package/dist/apis/deduplication.js +1 -1
  46. package/dist/apis/design.cjs +6 -6
  47. package/dist/apis/design.js +1 -1
  48. package/dist/apis/document.cjs +6 -6
  49. package/dist/apis/document.js +1 -1
  50. package/dist/apis/email-settings.cjs +6 -6
  51. package/dist/apis/email-settings.js +1 -1
  52. package/dist/apis/email-template.cjs +6 -6
  53. package/dist/apis/email-template.js +1 -1
  54. package/dist/apis/entity-mapping.cjs +6 -6
  55. package/dist/apis/entity-mapping.js +1 -1
  56. package/dist/apis/entity.cjs +6 -6
  57. package/dist/apis/entity.js +1 -1
  58. package/dist/apis/environments.cjs +6 -6
  59. package/dist/apis/environments.js +1 -1
  60. package/dist/apis/event-catalog.cjs +6 -6
  61. package/dist/apis/event-catalog.js +1 -1
  62. package/dist/apis/file.cjs +6 -6
  63. package/dist/apis/file.js +1 -1
  64. package/dist/apis/iban.cjs +6 -6
  65. package/dist/apis/iban.js +1 -1
  66. package/dist/apis/integration-toolkit.cjs +6 -6
  67. package/dist/apis/integration-toolkit.js +1 -1
  68. package/dist/apis/journey.cjs +6 -6
  69. package/dist/apis/journey.js +1 -1
  70. package/dist/apis/kanban.cjs +6 -6
  71. package/dist/apis/kanban.js +1 -1
  72. package/dist/apis/message.cjs +6 -6
  73. package/dist/apis/message.js +1 -1
  74. package/dist/apis/metering.cjs +6 -6
  75. package/dist/apis/metering.js +1 -1
  76. package/dist/apis/notes.cjs +6 -6
  77. package/dist/apis/notes.js +1 -1
  78. package/dist/apis/notification.cjs +6 -6
  79. package/dist/apis/notification.js +1 -1
  80. package/dist/apis/organization.cjs +6 -6
  81. package/dist/apis/organization.js +1 -1
  82. package/dist/apis/partner-directory.cjs +6 -6
  83. package/dist/apis/partner-directory.js +1 -1
  84. package/dist/apis/permissions.cjs +6 -6
  85. package/dist/apis/permissions.js +1 -1
  86. package/dist/apis/pricing-tier.cjs +6 -6
  87. package/dist/apis/pricing-tier.js +1 -1
  88. package/dist/apis/pricing.cjs +6 -6
  89. package/dist/apis/pricing.js +1 -1
  90. package/dist/apis/purpose.cjs +6 -6
  91. package/dist/apis/purpose.js +1 -1
  92. package/dist/apis/query.cjs +6 -6
  93. package/dist/apis/query.js +1 -1
  94. package/dist/apis/sandbox.cjs +6 -6
  95. package/dist/apis/sandbox.js +1 -1
  96. package/dist/apis/sharing.cjs +6 -6
  97. package/dist/apis/sharing.js +1 -1
  98. package/dist/apis/snapshot.cjs +6 -6
  99. package/dist/apis/snapshot.js +1 -1
  100. package/dist/apis/submission.cjs +6 -6
  101. package/dist/apis/submission.js +1 -1
  102. package/dist/apis/target.cjs +6 -6
  103. package/dist/apis/target.js +1 -1
  104. package/dist/apis/targeting.cjs +6 -6
  105. package/dist/apis/targeting.js +1 -1
  106. package/dist/apis/template-variables.cjs +6 -6
  107. package/dist/apis/template-variables.js +1 -1
  108. package/dist/apis/user.cjs +6 -6
  109. package/dist/apis/user.js +1 -1
  110. package/dist/apis/validation-rules.cjs +6 -6
  111. package/dist/apis/validation-rules.js +1 -1
  112. package/dist/apis/webhooks.cjs +6 -6
  113. package/dist/apis/webhooks.js +1 -1
  114. package/dist/apis/workflow-definition.cjs +6 -6
  115. package/dist/apis/workflow-definition.js +1 -1
  116. package/dist/apis/workflow.cjs +6 -6
  117. package/dist/apis/workflow.js +1 -1
  118. package/dist/automation-UP6J7QIK.js +7 -0
  119. package/dist/automation-ZF5ACFVW.cjs +7 -0
  120. package/dist/{automation.d-DocUQr4m.d.cts → automation.d-DiWfPkLs.d.cts} +295 -3
  121. package/dist/{automation.d-DocUQr4m.d.ts → automation.d-DiWfPkLs.d.ts} +295 -3
  122. package/dist/{chunk-M44TEEFZ.js → chunk-C37WPDHV.js} +3 -3
  123. package/dist/{chunk-YEBEA6XU.cjs → chunk-GD6KHA54.cjs} +1 -1
  124. package/dist/{chunk-BRWY3QHG.js → chunk-IZ6OQZZ2.js} +1 -1
  125. package/dist/{chunk-JMRPVDMK.cjs → chunk-OODZDECW.cjs} +3 -3
  126. package/dist/index.cjs +10 -10
  127. package/dist/index.d.cts +2 -2
  128. package/dist/index.d.ts +2 -2
  129. package/dist/index.js +2 -2
  130. package/docs/ai-agents.md +104 -0
  131. package/docs/automation.md +138 -10
  132. package/package.json +1 -1
  133. package/dist/ai-agents-D6C5TXLD.cjs +0 -7
  134. package/dist/ai-agents-Y6PH53PH.js +0 -7
  135. package/dist/automation-UES4YTBX.js +0 -7
  136. package/dist/automation-ZPPNTUOZ.cjs +0 -7
package/docs/ai-agents.md CHANGED
@@ -38,6 +38,8 @@ const { data } = await aiAgentsClient.createAgent(...)
38
38
  - [`getExecution`](#getexecution)
39
39
  - [`cancelExecution`](#cancelexecution)
40
40
  - [`getExecutionTrace`](#getexecutiontrace)
41
+ - [`getExecutionFeedback`](#getexecutionfeedback)
42
+ - [`putExecutionFeedback`](#putexecutionfeedback)
41
43
  - [`approveExecution`](#approveexecution)
42
44
  - [`rejectExecution`](#rejectexecution)
43
45
  - [`streamExecution`](#streamexecution)
@@ -63,6 +65,9 @@ const { data } = await aiAgentsClient.createAgent(...)
63
65
  - [`ExecuteAgentRequest`](#executeagentrequest)
64
66
  - [`ExecutionResponse`](#executionresponse)
65
67
  - [`ExecutionIterationProjection`](#executioniterationprojection)
68
+ - [`ExecutionFeedback`](#executionfeedback)
69
+ - [`ExecutionFeedbackResponse`](#executionfeedbackresponse)
70
+ - [`PutExecutionFeedbackRequest`](#putexecutionfeedbackrequest)
66
71
  - [`ExecutionTrace`](#executiontrace)
67
72
  - [`ExecutionIteration`](#executioniteration)
68
73
  - [`PendingAction`](#pendingaction)
@@ -1040,6 +1045,72 @@ const { data } = await client.getExecutionTrace({
1040
1045
 
1041
1046
  ---
1042
1047
 
1048
+ ### `getExecutionFeedback`
1049
+
1050
+ Get execution feedback
1051
+
1052
+ `GET /v1/executions/{execution_id}/feedback`
1053
+
1054
+ ```ts
1055
+ const { data } = await client.getExecutionFeedback({
1056
+ execution_id: 'example',
1057
+ })
1058
+ ```
1059
+
1060
+ <details>
1061
+ <summary>Response</summary>
1062
+
1063
+ ```json
1064
+ {
1065
+ "feedback": {
1066
+ "rating": "up",
1067
+ "comment": "string",
1068
+ "user_id": "string",
1069
+ "submitted_at": "1970-01-01T00:00:00.000Z"
1070
+ }
1071
+ }
1072
+ ```
1073
+
1074
+ </details>
1075
+
1076
+ ---
1077
+
1078
+ ### `putExecutionFeedback`
1079
+
1080
+ Submit execution feedback
1081
+
1082
+ `PUT /v1/executions/{execution_id}/feedback`
1083
+
1084
+ ```ts
1085
+ const { data } = await client.putExecutionFeedback(
1086
+ {
1087
+ execution_id: 'example',
1088
+ },
1089
+ {
1090
+ rating: 'up',
1091
+ comment: 'string'
1092
+ },
1093
+ )
1094
+ ```
1095
+
1096
+ <details>
1097
+ <summary>Response</summary>
1098
+
1099
+ ```json
1100
+ {
1101
+ "feedback": {
1102
+ "rating": "up",
1103
+ "comment": "string",
1104
+ "user_id": "string",
1105
+ "submitted_at": "1970-01-01T00:00:00.000Z"
1106
+ }
1107
+ }
1108
+ ```
1109
+
1110
+ </details>
1111
+
1112
+ ---
1113
+
1043
1114
  ### `approveExecution`
1044
1115
 
1045
1116
  Approve pending action
@@ -1857,6 +1928,39 @@ type ExecutionIterationProjection = {
1857
1928
  }
1858
1929
  ```
1859
1930
 
1931
+ ### `ExecutionFeedback`
1932
+
1933
+ ```ts
1934
+ type ExecutionFeedback = {
1935
+ rating: "up" | "down"
1936
+ comment?: string
1937
+ user_id: string
1938
+ submitted_at: string // date-time
1939
+ }
1940
+ ```
1941
+
1942
+ ### `ExecutionFeedbackResponse`
1943
+
1944
+ ```ts
1945
+ type ExecutionFeedbackResponse = {
1946
+ feedback: {
1947
+ rating: "up" | "down"
1948
+ comment?: string
1949
+ user_id: string
1950
+ submitted_at: string // date-time
1951
+ }
1952
+ }
1953
+ ```
1954
+
1955
+ ### `PutExecutionFeedbackRequest`
1956
+
1957
+ ```ts
1958
+ type PutExecutionFeedbackRequest = {
1959
+ rating: "up" | "down"
1960
+ comment?: string
1961
+ }
1962
+ ```
1963
+
1860
1964
  ### `ExecutionTrace`
1861
1965
 
1862
1966
  ```ts
@@ -86,6 +86,10 @@ const { data } = await automationClient.searchFlows(...)
86
86
  - [`AssignThreadAction`](#assignthreadaction)
87
87
  - [`MoveThreadConfig`](#movethreadconfig)
88
88
  - [`AssignThreadConfig`](#assignthreadconfig)
89
+ - [`EntityAssignee`](#entityassignee)
90
+ - [`AssignEntityConfig`](#assignentityconfig)
91
+ - [`AssignEntityActionConfig`](#assignentityactionconfig)
92
+ - [`AssignEntityAction`](#assignentityaction)
89
93
  - [`SendEmailActionConfig`](#sendemailactionconfig)
90
94
  - [`SendEmailAction`](#sendemailaction)
91
95
  - [`ForwardEmailActionConfig`](#forwardemailactionconfig)
@@ -351,6 +355,7 @@ const { data } = await client.startExecution(
351
355
  parent_task_id: 'string',
352
356
  depth: 0
353
357
  },
358
+ _automation_chain: ['string'],
354
359
  entity_contexts: [
355
360
  {
356
361
  entity_id: 'string',
@@ -476,6 +481,7 @@ const { data } = await client.startExecution(
476
481
  "parent_task_id": "string",
477
482
  "depth": 0
478
483
  },
484
+ "_automation_chain": ["string"],
479
485
  "entity_contexts": [
480
486
  {}
481
487
  ]
@@ -841,6 +847,7 @@ const { data } = await client.getExecution({
841
847
  "parent_task_id": "string",
842
848
  "depth": 0
843
849
  },
850
+ "_automation_chain": ["string"],
844
851
  "entity_contexts": [
845
852
  {}
846
853
  ]
@@ -985,6 +992,7 @@ const { data } = await client.cancelExecution({
985
992
  "parent_task_id": "string",
986
993
  "depth": 0
987
994
  },
995
+ "_automation_chain": ["string"],
988
996
  "entity_contexts": [
989
997
  {}
990
998
  ]
@@ -1093,6 +1101,7 @@ const { data } = await client.resumeExecutionWithToken(
1093
1101
  "workflow_exec_task_id": "string",
1094
1102
  "workflow_role": "trigger_workflow",
1095
1103
  "_execution_chain": {},
1104
+ "_automation_chain": ["string"],
1096
1105
  "entity_contexts": []
1097
1106
  },
1098
1107
  "loops": [
@@ -1109,6 +1118,7 @@ const { data } = await client.resumeExecutionWithToken(
1109
1118
  "config": {
1110
1119
  "mapping_config": {},
1111
1120
  "target_schema": "string",
1121
+ "use_uniqueness_criteria": true,
1112
1122
  "target_unique": ["string"],
1113
1123
  "mapping_attributes": [],
1114
1124
  "relation_attributes": [],
@@ -1506,6 +1516,7 @@ type AnyAction = {
1506
1516
  version?: { ... }
1507
1517
  }
1508
1518
  target_schema: string
1519
+ use_uniqueness_criteria?: boolean
1509
1520
  target_unique?: string[]
1510
1521
  mapping_attributes?: Array<{
1511
1522
  target?: { ... }
@@ -1596,7 +1607,6 @@ type AnyAction = {
1596
1607
  wait_for_confirmation?: boolean
1597
1608
  reply_to_sender?: boolean
1598
1609
  reply_mode?: "reply_in_thread" | "new_email"
1599
- mark_as_done?: boolean
1600
1610
  // ...
1601
1611
  }
1602
1612
  ```
@@ -1616,6 +1626,7 @@ type AnyActionConfig = {
1616
1626
  version?: { ... }
1617
1627
  }
1618
1628
  target_schema: string
1629
+ use_uniqueness_criteria?: boolean
1619
1630
  target_unique?: string[]
1620
1631
  mapping_attributes?: Array<{
1621
1632
  target?: { ... }
@@ -1703,7 +1714,6 @@ type AnyActionConfig = {
1703
1714
  payload?: Record<string, unknown>
1704
1715
  }
1705
1716
  condition_id?: string
1706
- schedule_id?: string
1707
1717
  // ...
1708
1718
  }
1709
1719
  ```
@@ -2053,6 +2063,7 @@ type MapEntityActionConfig = {
2053
2063
  version?: { ... }
2054
2064
  }
2055
2065
  target_schema: string
2066
+ use_uniqueness_criteria?: boolean
2056
2067
  target_unique?: string[]
2057
2068
  mapping_attributes?: Array<{
2058
2069
  target?: { ... }
@@ -2108,6 +2119,7 @@ type MapEntityAction = {
2108
2119
  version?: { ... }
2109
2120
  }
2110
2121
  target_schema: string
2122
+ use_uniqueness_criteria?: boolean
2111
2123
  target_unique?: string[]
2112
2124
  mapping_attributes?: Array<{
2113
2125
  target?: { ... }
@@ -2151,6 +2163,7 @@ type MapEntityConfig = {
2151
2163
  version?: number
2152
2164
  }
2153
2165
  target_schema: string
2166
+ use_uniqueness_criteria?: boolean
2154
2167
  target_unique?: string[]
2155
2168
  mapping_attributes?: Array<{
2156
2169
  target?: string
@@ -2350,6 +2363,7 @@ type AssignThreadAction = {
2350
2363
  add?: string[]
2351
2364
  assignment_type?: "direct" | "even_distribution" | "sequential"
2352
2365
  only_available_users?: boolean
2366
+ hold_until_available?: boolean
2353
2367
  match_user_skills?: boolean
2354
2368
  required_skill_categories?: string[]
2355
2369
  skill_match_mode?: "require_all" | "prefer"
@@ -2375,6 +2389,7 @@ type AssignThreadConfig = {
2375
2389
  add?: string[]
2376
2390
  assignment_type?: "direct" | "even_distribution" | "sequential"
2377
2391
  only_available_users?: boolean
2392
+ hold_until_available?: boolean
2378
2393
  match_user_skills?: boolean
2379
2394
  required_skill_categories?: string[]
2380
2395
  skill_match_mode?: "require_all" | "prefer"
@@ -2383,6 +2398,117 @@ type AssignThreadConfig = {
2383
2398
  }
2384
2399
  ```
2385
2400
 
2401
+ ### `EntityAssignee`
2402
+
2403
+ A single assignee as stored in a user-relation attribute. Written through
2404
+ verbatim by the assign-entity worker. Note this object encoding differs
2405
+ deliberately from AssignThreadConfig, which stores bare id strings —
2406
+ each matches what its own target accepts.
2407
+
2408
+
2409
+ ```ts
2410
+ type EntityAssignee = {
2411
+ type: "user" | "partner_user" | "partner_organization" | "group"
2412
+ user_id?: string
2413
+ group_id?: string
2414
+ org_id?: string
2415
+ partner_id?: string
2416
+ display_name?: string
2417
+ email?: string
2418
+ }
2419
+ ```
2420
+
2421
+ ### `AssignEntityConfig`
2422
+
2423
+ ```ts
2424
+ type AssignEntityConfig = {
2425
+ attribute?: string
2426
+ assignees?: Array<{
2427
+ type: "user" | "partner_user" | "partner_organization" | "group"
2428
+ user_id?: string
2429
+ group_id?: string
2430
+ org_id?: string
2431
+ partner_id?: string
2432
+ display_name?: string
2433
+ email?: string
2434
+ }>
2435
+ write_mode?: "replace" | "append"
2436
+ assignment_type?: "direct"
2437
+ source?: {
2438
+ id?: string
2439
+ origin?: "trigger" | "action"
2440
+ schema?: string
2441
+ }
2442
+ }
2443
+ ```
2444
+
2445
+ ### `AssignEntityActionConfig`
2446
+
2447
+ ```ts
2448
+ type AssignEntityActionConfig = {
2449
+ id?: string
2450
+ flow_action_id?: string
2451
+ name?: string
2452
+ type?: "assign-entity"
2453
+ config?: {
2454
+ attribute?: string
2455
+ assignees?: Array<{
2456
+ type: { ... }
2457
+ user_id?: { ... }
2458
+ group_id?: { ... }
2459
+ org_id?: { ... }
2460
+ partner_id?: { ... }
2461
+ display_name?: { ... }
2462
+ email?: { ... }
2463
+ }>
2464
+ write_mode?: "replace" | "append"
2465
+ assignment_type?: "direct"
2466
+ source?: {
2467
+ id?: { ... }
2468
+ origin?: { ... }
2469
+ schema?: { ... }
2470
+ }
2471
+ }
2472
+ allow_failure?: boolean
2473
+ created_automatically?: boolean
2474
+ is_bulk_action?: boolean
2475
+ reason?: {
2476
+ message?: string
2477
+ payload?: Record<string, unknown>
2478
+ }
2479
+ condition_id?: string
2480
+ schedule_id?: string
2481
+ loop_id?: string
2482
+ }
2483
+ ```
2484
+
2485
+ ### `AssignEntityAction`
2486
+
2487
+ ```ts
2488
+ type AssignEntityAction = {
2489
+ type?: "assign-entity"
2490
+ config?: {
2491
+ attribute?: string
2492
+ assignees?: Array<{
2493
+ type: { ... }
2494
+ user_id?: { ... }
2495
+ group_id?: { ... }
2496
+ org_id?: { ... }
2497
+ partner_id?: { ... }
2498
+ display_name?: { ... }
2499
+ email?: { ... }
2500
+ }>
2501
+ write_mode?: "replace" | "append"
2502
+ assignment_type?: "direct"
2503
+ source?: {
2504
+ id?: { ... }
2505
+ origin?: { ... }
2506
+ schema?: { ... }
2507
+ }
2508
+ }
2509
+ }
2510
+ ```
2511
+
2386
2512
  ### `SendEmailActionConfig`
2387
2513
 
2388
2514
  ```ts
@@ -3185,6 +3311,7 @@ type AutomationExecution = {
3185
3311
  config?: {
3186
3312
  mapping_config?: { ... }
3187
3313
  target_schema: { ... }
3314
+ use_uniqueness_criteria?: { ... }
3188
3315
  target_unique?: { ... }
3189
3316
  mapping_attributes?: { ... }
3190
3317
  relation_attributes?: { ... }
@@ -3228,7 +3355,6 @@ type AutomationExecution = {
3228
3355
  }
3229
3356
  } | {
3230
3357
  type?: "create-document"
3231
- config?: {
3232
3358
  // ...
3233
3359
  }
3234
3360
  ```
@@ -3254,6 +3380,7 @@ type WorkflowExecutionContext = {
3254
3380
  parent_task_id?: string
3255
3381
  depth?: number
3256
3382
  }
3383
+ _automation_chain?: string[]
3257
3384
  entity_contexts?: Array<{
3258
3385
  entity_id?: string
3259
3386
  entity_schema?: string
@@ -3474,8 +3601,8 @@ type GetExecutionsResp = {
3474
3601
  } | {
3475
3602
  type?: { ... }
3476
3603
  config?: { ... }
3477
- }>
3478
- resume_token?: string
3604
+ } | {
3605
+ type?: { ... }
3479
3606
  // ...
3480
3607
  }
3481
3608
  ```
@@ -3592,8 +3719,8 @@ type SearchExecutionsResp = {
3592
3719
  } | {
3593
3720
  type?: { ... }
3594
3721
  config?: { ... }
3595
- }>
3596
- resume_token?: string
3722
+ } | {
3723
+ type?: { ... }
3597
3724
  // ...
3598
3725
  }
3599
3726
  ```
@@ -3613,6 +3740,7 @@ type StartExecutionRequest = {
3613
3740
  parent_task_id?: { ... }
3614
3741
  depth?: { ... }
3615
3742
  }
3743
+ _automation_chain?: string[]
3616
3744
  entity_contexts?: Array<{
3617
3745
  entity_id?: { ... }
3618
3746
  entity_schema?: { ... }
@@ -4542,9 +4670,9 @@ type ResumeResp = {
4542
4670
  } | {
4543
4671
  type?: { ... }
4544
4672
  config?: { ... }
4545
- }>
4546
- resume_token?: string
4547
- trigger_context?: Record<string, string>
4673
+ } | {
4674
+ type?: { ... }
4675
+ config?: { ... }
4548
4676
  // ...
4549
4677
  }
4550
4678
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/sdk",
3
- "version": "2.18.8",
3
+ "version": "2.18.10",
4
4
  "description": "JavaScript/TypeScript SDK for epilot APIs",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -1,7 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
2
-
3
- // src/docs/ai-agents.json
4
- var ai_agents_default = '# AI Agents API\n\n- **Base URL:** `https://ai-agents.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/ai-agents](https://docs.epilot.io/api/ai-agents)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.aiAgents.createAgent(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/ai-agents\'\n\nconst aiAgentsClient = getClient()\nauthorize(aiAgentsClient, () => \'<token>\')\nconst { data } = await aiAgentsClient.createAgent(...)\n```\n\n## Operations\n\n**Agents Configuration**\n- [`createAgent`](#createagent)\n- [`listAgents`](#listagents)\n- [`getAgentById`](#getagentbyid)\n- [`updateAgentById`](#updateagentbyid)\n- [`deleteAgentById`](#deleteagentbyid)\n\n**Agent Execution**\n- [`executeAgent`](#executeagent)\n- [`executeAgentStream`](#executeagentstream)\n- [`listExecutions`](#listexecutions)\n- [`getExecution`](#getexecution)\n- [`cancelExecution`](#cancelexecution)\n- [`getExecutionTrace`](#getexecutiontrace)\n- [`approveExecution`](#approveexecution)\n- [`rejectExecution`](#rejectexecution)\n- [`streamExecution`](#streamexecution)\n\n**Chat**\n- [`chat`](#chat)\n\n**Conversations**\n- [`listConversations`](#listconversations)\n- [`getConversation`](#getconversation)\n- [`deleteConversation`](#deleteconversation)\n- [`submitConversationFeedback`](#submitconversationfeedback)\n\n**Schemas**\n- [`AgentId`](#agentid)\n- [`CreateAgentRequest`](#createagentrequest)\n- [`UpdateAgentRequest`](#updateagentrequest)\n- [`AgentDefinition`](#agentdefinition)\n- [`ListAgentsResponse`](#listagentsresponse)\n- [`ListExecutionsResponse`](#listexecutionsresponse)\n- [`ApproveExecutionRequest`](#approveexecutionrequest)\n- [`RejectExecutionRequest`](#rejectexecutionrequest)\n- [`ExecuteAgentRequest`](#executeagentrequest)\n- [`ExecutionResponse`](#executionresponse)\n- [`ExecutionIterationProjection`](#executioniterationprojection)\n- [`ExecutionTrace`](#executiontrace)\n- [`ExecutionIteration`](#executioniteration)\n- [`PendingAction`](#pendingaction)\n- [`ExecutionError`](#executionerror)\n- [`ExecutionMetrics`](#executionmetrics)\n- [`ToolPreview`](#toolpreview)\n- [`PreviewActionType`](#previewactiontype)\n- [`PreviewEntity`](#previewentity)\n- [`PreviewChange`](#previewchange)\n- [`PreviewValue`](#previewvalue)\n- [`ToolDefinition`](#tooldefinition)\n- [`SkillCategory`](#skillcategory)\n- [`AgentSource`](#agentsource)\n- [`SkillAvailability`](#skillavailability)\n- [`ExecutionContext`](#executioncontext)\n- [`ExecutionPattern`](#executionpattern)\n- [`ExecutionMode`](#executionmode)\n- [`ExecutionStatus`](#executionstatus)\n- [`ParameterType`](#parametertype)\n- [`InputParameterDefinition`](#inputparameterdefinition)\n- [`InputParametersSchema`](#inputparametersschema)\n- [`ModelConfig`](#modelconfig)\n- [`Error`](#error)\n- [`ChatRequest`](#chatrequest)\n- [`ChatMessage`](#chatmessage)\n- [`StreamingOptions`](#streamingoptions)\n- [`StreamEvent`](#streamevent)\n- [`ExecutionResult`](#executionresult)\n- [`ConversationItem`](#conversationitem)\n- [`MessageItem`](#messageitem)\n- [`MessageFeedback`](#messagefeedback)\n- [`SubmitFeedbackRequest`](#submitfeedbackrequest)\n- [`ListConversationsResponse`](#listconversationsresponse)\n- [`ConversationWithMessages`](#conversationwithmessages)\n\n### `createAgent`\n\nCreate Agent definition\n\n`POST /v1/agents`\n\n```ts\nconst { data } = await client.createAgent(\n null,\n {\n name: \'Email Reply Generator\',\n description: \'string\',\n category: \'message\',\n icon: \'mail-reply\',\n system_prompt: \'string\',\n tools: [\'entity.search\', \'message.draft\'],\n model_config: {\n model_id: \'anthropic.claude-3-5-sonnet-20241022-v2:0\',\n temperature: 0.7,\n max_tokens: 4096,\n thinking: false,\n thinking_budget: 10000\n },\n max_iterations: 10,\n execution_pattern: \'direct\',\n execution_mode: \'automatic\',\n output_schema: {},\n input_parameters_schema: {\n type: \'object\',\n parameters: [\n {\n name: \'target_schema\',\n label: \'Target Schema\',\n type: \'entity-schema\',\n description: \'Entity type to create\'\n },\n {\n name: \'confidence_threshold\',\n label: \'Confidence Threshold\',\n type: \'number\',\n minimum: 0,\n maximum: 1,\n default: 0.8\n },\n /* ... 1 more */\n ],\n required: [\'target_schema\']\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "agent_id": "skill:email-categorizer",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "category": "message",\n "icon": "string",\n "source": "system",\n "availability": ["flows", "copilot"],\n "allowed_entity_schemas": ["message"],\n "system_prompt": "string",\n "tools": ["string"],\n "model_config": {\n "model_id": "anthropic.claude-3-5-sonnet-20241022-v2:0",\n "temperature": 0.7,\n "max_tokens": 4096,\n "thinking": false,\n "thinking_budget": 10000\n },\n "max_iterations": 0,\n "execution_pattern": "direct",\n "execution_mode": "automatic",\n "output_schema": {},\n "input_parameters_schema": {\n "type": "object",\n "parameters": [\n {\n "name": "target_schema",\n "label": "Target Schema",\n "type": "entity-schema",\n "description": "Entity type to create"\n },\n {\n "name": "confidence_threshold",\n "label": "Confidence Threshold",\n "type": "number",\n "minimum": 0,\n "maximum": 1,\n "default": 0.8\n }\n ],\n "required": ["target_schema"]\n },\n "version": 0,\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `listAgents`\n\nList all agent configurations\n\n`GET /v1/agents`\n\n```ts\nconst { data } = await client.listAgents({\n source: \'example\',\n availability: \'example\',\n entity_schema: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "agents": [\n {\n "agent_id": "skill:email-categorizer",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "category": "message",\n "icon": "string",\n "source": "system",\n "availability": ["flows", "copilot"],\n "allowed_entity_schemas": ["message"],\n "system_prompt": "string",\n "tools": ["string"],\n "model_config": {\n "model_id": "anthropic.claude-3-5-sonnet-20241022-v2:0",\n "temperature": 0.7,\n "max_tokens": 4096,\n "thinking": false,\n "thinking_budget": 10000\n },\n "max_iterations": 0,\n "execution_pattern": "direct",\n "execution_mode": "automatic",\n "output_schema": {},\n "input_parameters_schema": {\n "type": "object",\n "parameters": [\n {\n "name": "target_schema",\n "label": "Target Schema",\n "type": "entity-schema",\n "description": "Entity type to create"\n },\n {\n "name": "confidence_threshold",\n "label": "Confidence Threshold",\n "type": "number",\n "minimum": 0,\n "maximum": 1,\n "default": 0.8\n }\n ],\n "required": ["target_schema"]\n },\n "version": 0,\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `getAgentById`\n\nGet the agent configuration by ID\n\n`GET /v1/agents/{agent_id}`\n\n```ts\nconst { data } = await client.getAgentById({\n agent_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "agent_id": "skill:email-categorizer",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "category": "message",\n "icon": "string",\n "source": "system",\n "availability": ["flows", "copilot"],\n "allowed_entity_schemas": ["message"],\n "system_prompt": "string",\n "tools": ["string"],\n "model_config": {\n "model_id": "anthropic.claude-3-5-sonnet-20241022-v2:0",\n "temperature": 0.7,\n "max_tokens": 4096,\n "thinking": false,\n "thinking_budget": 10000\n },\n "max_iterations": 0,\n "execution_pattern": "direct",\n "execution_mode": "automatic",\n "output_schema": {},\n "input_parameters_schema": {\n "type": "object",\n "parameters": [\n {\n "name": "target_schema",\n "label": "Target Schema",\n "type": "entity-schema",\n "description": "Entity type to create"\n },\n {\n "name": "confidence_threshold",\n "label": "Confidence Threshold",\n "type": "number",\n "minimum": 0,\n "maximum": 1,\n "default": 0.8\n }\n ],\n "required": ["target_schema"]\n },\n "version": 0,\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `updateAgentById`\n\nUpdate the agent configuration by ID\n\n`PUT /v1/agents/{agent_id}`\n\n```ts\nconst { data } = await client.updateAgentById(\n {\n agent_id: \'example\',\n },\n {\n name: \'string\',\n description: \'string\',\n category: \'message\',\n icon: \'string\',\n system_prompt: \'string\',\n tools: [\'string\'],\n model_config: {\n model_id: \'anthropic.claude-3-5-sonnet-20241022-v2:0\',\n temperature: 0.7,\n max_tokens: 4096,\n thinking: false,\n thinking_budget: 10000\n },\n max_iterations: 1,\n execution_pattern: \'direct\',\n execution_mode: \'automatic\',\n output_schema: {},\n input_parameters_schema: {\n type: \'object\',\n parameters: [\n {\n name: \'target_schema\',\n label: \'Target Schema\',\n type: \'entity-schema\',\n description: \'Entity type to create\'\n },\n {\n name: \'confidence_threshold\',\n label: \'Confidence Threshold\',\n type: \'number\',\n minimum: 0,\n maximum: 1,\n default: 0.8\n },\n /* ... 1 more */\n ],\n required: [\'target_schema\']\n }\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "agent_id": "skill:email-categorizer",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "category": "message",\n "icon": "string",\n "source": "system",\n "availability": ["flows", "copilot"],\n "allowed_entity_schemas": ["message"],\n "system_prompt": "string",\n "tools": ["string"],\n "model_config": {\n "model_id": "anthropic.claude-3-5-sonnet-20241022-v2:0",\n "temperature": 0.7,\n "max_tokens": 4096,\n "thinking": false,\n "thinking_budget": 10000\n },\n "max_iterations": 0,\n "execution_pattern": "direct",\n "execution_mode": "automatic",\n "output_schema": {},\n "input_parameters_schema": {\n "type": "object",\n "parameters": [\n {\n "name": "target_schema",\n "label": "Target Schema",\n "type": "entity-schema",\n "description": "Entity type to create"\n },\n {\n "name": "confidence_threshold",\n "label": "Confidence Threshold",\n "type": "number",\n "minimum": 0,\n "maximum": 1,\n "default": 0.8\n }\n ],\n "required": ["target_schema"]\n },\n "version": 0,\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z",\n "created_by": "string"\n}\n```\n\n</details>\n\n---\n\n### `deleteAgentById`\n\nDelete the agent configuration by ID\n\n`DELETE /v1/agents/{agent_id}`\n\n```ts\nconst { data } = await client.deleteAgentById({\n agent_id: \'example\',\n})\n```\n\n---\n\n### `executeAgent`\n\nExecute an agent\n\n`POST /v1/agents/{agent_id}/execute`\n\n```ts\nconst { data } = await client.executeAgent(\n {\n agent_id: \'example\',\n },\n {\n input: {\n entity_id: \'string\',\n entity_schema: \'string\',\n workflow_id: \'string\',\n workflow_execution_id: \'string\',\n task_id: \'string\',\n custom_data: {},\n flow_context: [\n {\n entity_id: \'string\',\n entity_schema: \'string\'\n }\n ]\n },\n parameters: {},\n execution_mode_override: \'automatic\',\n execution_context: \'flows\',\n callback_url: \'https://example.com/path\',\n timeout_ms: 30000\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "agent_id": "skill:email-categorizer",\n "agent_source": "system",\n "agent_name": "string",\n "execution_context": "flows",\n "org_id": "string",\n "status": "pending",\n "input": {},\n "parameters": {},\n "result": {\n "response": "string",\n "structured_output": {}\n },\n "error": {\n "code": "TIMEOUT",\n "message": "string",\n "details": {}\n },\n "pending_action": {\n "tool": "string",\n "input": {},\n "description": "string",\n "preview": {\n "action": {\n "type": "move",\n "verb": "Move Thread"\n },\n "source": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "target": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "changes": [\n {\n "field": "string",\n "label": "string",\n "from": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n },\n "to": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n }\n }\n ],\n "metadata": {},\n "summary": "This email discusses solar panel installation and should be handled by the Service team."\n }\n },\n "metrics": {\n "total_tokens": 0,\n "input_tokens": 0,\n "output_tokens": 0,\n "total_cost_usd": 0,\n "duration_ms": 0,\n "iteration_count": 0\n },\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "iterations": [\n {\n "index": 0,\n "tool": "string",\n "status": "running",\n "timestamp": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `executeAgentStream`\n\nExecute an agent with streaming response\n\n`POST /v1/agents/{agent_id}/execute/stream`\n\n```ts\nconst { data } = await client.executeAgentStream(\n {\n agent_id: \'example\',\n },\n {\n input: {\n entity_id: \'string\',\n entity_schema: \'string\',\n workflow_id: \'string\',\n workflow_execution_id: \'string\',\n task_id: \'string\',\n custom_data: {},\n flow_context: [\n {\n entity_id: \'string\',\n entity_schema: \'string\'\n }\n ]\n },\n parameters: {},\n execution_mode_override: \'automatic\',\n execution_context: \'flows\',\n callback_url: \'https://example.com/path\',\n timeout_ms: 30000\n },\n)\n```\n\n---\n\n### `listExecutions`\n\nList executions\n\n`GET /v1/executions`\n\n```ts\nconst { data } = await client.listExecutions({\n agent_id: \'example\',\n status: \'example\',\n limit: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "executions": [\n {\n "execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "agent_id": "skill:email-categorizer",\n "agent_source": "system",\n "agent_name": "string",\n "execution_context": "flows",\n "org_id": "string",\n "status": "pending",\n "input": {},\n "parameters": {},\n "result": {\n "response": "string",\n "structured_output": {}\n },\n "error": {\n "code": "TIMEOUT",\n "message": "string",\n "details": {}\n },\n "pending_action": {\n "tool": "string",\n "input": {},\n "description": "string",\n "preview": {\n "action": {\n "type": "move",\n "verb": "Move Thread"\n },\n "source": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "target": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "changes": [\n {\n "field": "string",\n "label": "string",\n "from": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n },\n "to": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n }\n }\n ],\n "metadata": {},\n "summary": "This email discusses solar panel installation and should be handled by the Service team."\n }\n },\n "metrics": {\n "total_tokens": 0,\n "input_tokens": 0,\n "output_tokens": 0,\n "total_cost_usd": 0,\n "duration_ms": 0,\n "iteration_count": 0\n },\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "iterations": [\n {\n "index": 0,\n "tool": "string",\n "status": "running",\n "timestamp": "1970-01-01T00:00:00.000Z"\n }\n ]\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `getExecution`\n\nGet execution by ID\n\n`GET /v1/executions/{execution_id}`\n\n```ts\nconst { data } = await client.getExecution({\n execution_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "agent_id": "skill:email-categorizer",\n "agent_source": "system",\n "agent_name": "string",\n "execution_context": "flows",\n "org_id": "string",\n "status": "pending",\n "input": {},\n "parameters": {},\n "result": {\n "response": "string",\n "structured_output": {}\n },\n "error": {\n "code": "TIMEOUT",\n "message": "string",\n "details": {}\n },\n "pending_action": {\n "tool": "string",\n "input": {},\n "description": "string",\n "preview": {\n "action": {\n "type": "move",\n "verb": "Move Thread"\n },\n "source": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "target": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "changes": [\n {\n "field": "string",\n "label": "string",\n "from": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n },\n "to": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n }\n }\n ],\n "metadata": {},\n "summary": "This email discusses solar panel installation and should be handled by the Service team."\n }\n },\n "metrics": {\n "total_tokens": 0,\n "input_tokens": 0,\n "output_tokens": 0,\n "total_cost_usd": 0,\n "duration_ms": 0,\n "iteration_count": 0\n },\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "iterations": [\n {\n "index": 0,\n "tool": "string",\n "status": "running",\n "timestamp": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `cancelExecution`\n\nCancel execution\n\n`DELETE /v1/executions/{execution_id}`\n\n```ts\nconst { data } = await client.cancelExecution({\n execution_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "agent_id": "skill:email-categorizer",\n "agent_source": "system",\n "agent_name": "string",\n "execution_context": "flows",\n "org_id": "string",\n "status": "pending",\n "input": {},\n "parameters": {},\n "result": {\n "response": "string",\n "structured_output": {}\n },\n "error": {\n "code": "TIMEOUT",\n "message": "string",\n "details": {}\n },\n "pending_action": {\n "tool": "string",\n "input": {},\n "description": "string",\n "preview": {\n "action": {\n "type": "move",\n "verb": "Move Thread"\n },\n "source": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "target": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "changes": [\n {\n "field": "string",\n "label": "string",\n "from": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n },\n "to": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n }\n }\n ],\n "metadata": {},\n "summary": "This email discusses solar panel installation and should be handled by the Service team."\n }\n },\n "metrics": {\n "total_tokens": 0,\n "input_tokens": 0,\n "output_tokens": 0,\n "total_cost_usd": 0,\n "duration_ms": 0,\n "iteration_count": 0\n },\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "iterations": [\n {\n "index": 0,\n "tool": "string",\n "status": "running",\n "timestamp": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getExecutionTrace`\n\nGet execution trace/iterations\n\n`GET /v1/executions/{execution_id}/trace`\n\n```ts\nconst { data } = await client.getExecutionTrace({\n execution_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "iterations": [\n {\n "iteration_index": 0,\n "thought": "string",\n "action": {\n "tool": "string",\n "input": {}\n },\n "observation": {},\n "timestamp": "1970-01-01T00:00:00.000Z",\n "tokens_used": 0,\n "latency_ms": 0\n }\n ],\n "total_iterations": 0\n}\n```\n\n</details>\n\n---\n\n### `approveExecution`\n\nApprove pending action\n\n`POST /v1/executions/{execution_id}/approve`\n\n```ts\nconst { data } = await client.approveExecution(\n {\n execution_id: \'example\',\n },\n {\n reason: \'string\',\n approved_action_ids: [\'string\'],\n rejected_action_ids: [\'string\'],\n share_scope: \'primary_only\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "agent_id": "skill:email-categorizer",\n "agent_source": "system",\n "agent_name": "string",\n "execution_context": "flows",\n "org_id": "string",\n "status": "pending",\n "input": {},\n "parameters": {},\n "result": {\n "response": "string",\n "structured_output": {}\n },\n "error": {\n "code": "TIMEOUT",\n "message": "string",\n "details": {}\n },\n "pending_action": {\n "tool": "string",\n "input": {},\n "description": "string",\n "preview": {\n "action": {\n "type": "move",\n "verb": "Move Thread"\n },\n "source": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "target": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "changes": [\n {\n "field": "string",\n "label": "string",\n "from": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n },\n "to": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n }\n }\n ],\n "metadata": {},\n "summary": "This email discusses solar panel installation and should be handled by the Service team."\n }\n },\n "metrics": {\n "total_tokens": 0,\n "input_tokens": 0,\n "output_tokens": 0,\n "total_cost_usd": 0,\n "duration_ms": 0,\n "iteration_count": 0\n },\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "iterations": [\n {\n "index": 0,\n "tool": "string",\n "status": "running",\n "timestamp": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `rejectExecution`\n\nReject pending action\n\n`POST /v1/executions/{execution_id}/reject`\n\n```ts\nconst { data } = await client.rejectExecution(\n {\n execution_id: \'example\',\n },\n {\n reason: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "execution_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "agent_id": "skill:email-categorizer",\n "agent_source": "system",\n "agent_name": "string",\n "execution_context": "flows",\n "org_id": "string",\n "status": "pending",\n "input": {},\n "parameters": {},\n "result": {\n "response": "string",\n "structured_output": {}\n },\n "error": {\n "code": "TIMEOUT",\n "message": "string",\n "details": {}\n },\n "pending_action": {\n "tool": "string",\n "input": {},\n "description": "string",\n "preview": {\n "action": {\n "type": "move",\n "verb": "Move Thread"\n },\n "source": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "target": {\n "type": "inbox",\n "id": "string",\n "name": "Support Inbox",\n "schema": "string",\n "icon": "string",\n "url": "string"\n },\n "changes": [\n {\n "field": "string",\n "label": "string",\n "from": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n },\n "to": {\n "type": "text",\n "value": {},\n "values": ["string"],\n "id": "string",\n "name": "string",\n "schema": "string",\n "color": "success"\n }\n }\n ],\n "metadata": {},\n "summary": "This email discusses solar panel installation and should be handled by the Service team."\n }\n },\n "metrics": {\n "total_tokens": 0,\n "input_tokens": 0,\n "output_tokens": 0,\n "total_cost_usd": 0,\n "duration_ms": 0,\n "iteration_count": 0\n },\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "iterations": [\n {\n "index": 0,\n "tool": "string",\n "status": "running",\n "timestamp": "1970-01-01T00:00:00.000Z"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `streamExecution`\n\nReconnect to execution stream\n\n`GET /v1/executions/{execution_id}/stream`\n\n```ts\nconst { data } = await client.streamExecution({\n execution_id: \'example\',\n from_sequence: 1,\n})\n```\n\n---\n\n### `chat`\n\nStreaming chat with AI agent\n\n`POST /v1/chat`\n\n```ts\nconst { data } = await client.chat(\n null,\n {\n agentId: \'string\',\n message: \'string\',\n conversationId: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n clientHistory: [\n {\n role: \'user\',\n content: \'string\',\n tool_calls: [\n {\n id: \'string\',\n name: \'string\',\n input: {},\n output: \'string\'\n }\n ]\n }\n ],\n context: {\n entityId: \'string\',\n customData: {}\n },\n streaming: {\n mode: \'updates\',\n streamTokens: false,\n includeMetadata: false\n }\n },\n)\n```\n\n---\n\n### `listConversations`\n\nList conversations\n\n`GET /v1/conversations`\n\n```ts\nconst { data } = await client.listConversations({\n agent_id: \'example\',\n limit: 1,\n cursor: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "conversations": [\n {\n "conversation_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "user_id": "string",\n "agent_id": "string",\n "title": "string",\n "message_count": 0,\n "last_message": "string",\n "last_message_at": "1970-01-01T00:00:00.000Z",\n "context": {\n "entityId": "string",\n "customData": {}\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n }\n ],\n "next_cursor": "string"\n}\n```\n\n</details>\n\n---\n\n### `getConversation`\n\nGet conversation with messages\n\n`GET /v1/conversations/{conversation_id}`\n\n```ts\nconst { data } = await client.getConversation({\n conversation_id: \'example\',\n message_limit: 1,\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "conversation": {\n "conversation_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "user_id": "string",\n "agent_id": "string",\n "title": "string",\n "message_count": 0,\n "last_message": "string",\n "last_message_at": "1970-01-01T00:00:00.000Z",\n "context": {\n "entityId": "string",\n "customData": {}\n },\n "created_at": "1970-01-01T00:00:00.000Z",\n "updated_at": "1970-01-01T00:00:00.000Z"\n },\n "messages": [\n {\n "conversation_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "role": "user",\n "content": "string",\n "timestamp": "1970-01-01T00:00:00.000Z",\n "tool_calls": [\n {\n "id": "string",\n "name": "string",\n "input": {},\n "output": "string"\n }\n ],\n "token_count": 0,\n "trace_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",\n "feedback": {\n "rating": "up",\n "comment": "string",\n "user_id": "string",\n "submitted_at": "1970-01-01T00:00:00.000Z"\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `deleteConversation`\n\nDelete conversation\n\n`DELETE /v1/conversations/{conversation_id}`\n\n```ts\nconst { data } = await client.deleteConversation({\n conversation_id: \'example\',\n})\n```\n\n---\n\n### `submitConversationFeedback`\n\nSubmit feedback for an assistant turn\n\n`POST /v1/conversations/{conversation_id}/feedback`\n\n```ts\nconst { data } = await client.submitConversationFeedback(\n {\n conversation_id: \'example\',\n },\n {\n trace_id: \'3fa85f64-5717-4562-b3fc-2c963f66afa6\',\n rating: \'up\',\n comment: \'string\'\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "feedback": {\n "rating": "up",\n "comment": "string",\n "user_id": "string",\n "submitted_at": "1970-01-01T00:00:00.000Z"\n }\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `AgentId`\n\nAgent identifier. Can be either:\n- System skill ID (prefixed): "skill:email-categorizer", "skill:email-labeler"\n- Custom agent UUID: "0336a235-9417-4dd8-894c-fe81285bba75"\n\n\n```ts\ntype AgentId = string\n```\n\n### `CreateAgentRequest`\n\n```ts\ntype CreateAgentRequest = {\n name: string\n description?: string\n category?: "message" | "entity" | "document" | "classification" | "custom"\n icon?: string\n system_prompt: string\n tools?: string[]\n model_config?: {\n model_id?: string\n temperature?: number\n max_tokens?: number\n thinking?: boolean\n thinking_budget?: number\n }\n max_iterations?: number\n execution_pattern: "direct" | "react"\n execution_mode?: "automatic" | "approval" | "draft"\n output_schema?: object\n input_parameters_schema?: {\n type: "object"\n parameters: Array<{\n name: { ... }\n label: { ... }\n type: { ... }\n description?: { ... }\n default?: { ... }\n multi?: { ... }\n dependsOn?: { ... }\n visibleWhen?: { ... }\n enum?: { ... }\n minimum?: { ... }\n maximum?: { ... }\n step?: { ... }\n minLength?: { ... }\n maxLength?: { ... }\n schemaFilter?: { ... }\n attributeTypeFilter?: { ... }\n hidden?: { ... }\n }>\n required?: string[]\n }\n}\n```\n\n### `UpdateAgentRequest`\n\n```ts\ntype UpdateAgentRequest = {\n name?: string\n description?: string\n category?: "message" | "entity" | "document" | "classification" | "custom"\n icon?: string\n system_prompt?: string\n tools?: string[]\n model_config?: {\n model_id?: string\n temperature?: number\n max_tokens?: number\n thinking?: boolean\n thinking_budget?: number\n }\n max_iterations?: number\n execution_pattern?: "direct" | "react"\n execution_mode?: "automatic" | "approval" | "draft"\n output_schema?: object\n input_parameters_schema?: {\n type: "object"\n parameters: Array<{\n name: { ... }\n label: { ... }\n type: { ... }\n description?: { ... }\n default?: { ... }\n multi?: { ... }\n dependsOn?: { ... }\n visibleWhen?: { ... }\n enum?: { ... }\n minimum?: { ... }\n maximum?: { ... }\n step?: { ... }\n minLength?: { ... }\n maxLength?: { ... }\n schemaFilter?: { ... }\n attributeTypeFilter?: { ... }\n hidden?: { ... }\n }>\n required?: string[]\n }\n}\n```\n\n### `AgentDefinition`\n\n```ts\ntype AgentDefinition = {\n agent_id?: string\n org_id?: string\n name?: string\n description?: string\n category?: "message" | "entity" | "document" | "classification" | "custom"\n icon?: string\n source?: "system" | "custom"\n availability?: "flows" | "copilot" | "portals" | "all"[]\n allowed_entity_schemas?: string[]\n system_prompt?: string\n tools?: string[]\n model_config?: {\n model_id?: string\n temperature?: number\n max_tokens?: number\n thinking?: boolean\n thinking_budget?: number\n }\n max_iterations?: number\n execution_pattern?: "direct" | "react"\n execution_mode?: "automatic" | "approval" | "draft"\n output_schema?: object\n input_parameters_schema?: {\n type: "object"\n parameters: Array<{\n name: { ... }\n label: { ... }\n type: { ... }\n description?: { ... }\n default?: { ... }\n multi?: { ... }\n dependsOn?: { ... }\n visibleWhen?: { ... }\n enum?: { ... }\n minimum?: { ... }\n maximum?: { ... }\n step?: { ... }\n minLength?: { ... }\n maxLength?: { ... }\n schemaFilter?: { ... }\n attributeTypeFilter?: { ... }\n hidden?: { ... }\n }>\n required?: string[]\n }\n version?: number\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n}\n```\n\n### `ListAgentsResponse`\n\n```ts\ntype ListAgentsResponse = {\n agents?: Array<{\n agent_id?: string\n org_id?: string\n name?: string\n description?: string\n category?: "message" | "entity" | "document" | "classification" | "custom"\n icon?: string\n source?: "system" | "custom"\n availability?: "flows" | "copilot" | "portals" | "all"[]\n allowed_entity_schemas?: string[]\n system_prompt?: string\n tools?: string[]\n model_config?: {\n model_id?: { ... }\n temperature?: { ... }\n max_tokens?: { ... }\n thinking?: { ... }\n thinking_budget?: { ... }\n }\n max_iterations?: number\n execution_pattern?: "direct" | "react"\n execution_mode?: "automatic" | "approval" | "draft"\n output_schema?: object\n input_parameters_schema?: {\n type: { ... }\n parameters: { ... }\n required?: { ... }\n }\n version?: number\n created_at?: string // date-time\n updated_at?: string // date-time\n created_by?: string\n }>\n next_cursor?: string\n}\n```\n\n### `ListExecutionsResponse`\n\n```ts\ntype ListExecutionsResponse = {\n executions?: Array<{\n execution_id?: string // uuid\n agent_id?: string\n agent_source?: "system" | "custom"\n agent_name?: string\n execution_context?: "flows" | "copilot" | "api"\n org_id?: string\n status?: "pending" | "running" | "waiting_approval" | "completed" | "failed" | "cancelled"\n input?: object\n parameters?: object\n result?: {\n response?: { ... }\n structured_output?: { ... }\n }\n error?: {\n code?: { ... }\n message?: { ... }\n details?: { ... }\n }\n pending_action?: {\n tool?: { ... }\n input?: { ... }\n description?: { ... }\n preview?: { ... }\n }\n metrics?: {\n total_tokens?: { ... }\n input_tokens?: { ... }\n output_tokens?: { ... }\n total_cost_usd?: { ... }\n duration_ms?: { ... }\n iteration_count?: { ... }\n }\n started_at?: string // date-time\n completed_at?: string // date-time\n iterations?: Array<{\n index?: { ... }\n tool?: { ... }\n status?: { ... }\n timestamp?: { ... }\n }>\n }>\n next_cursor?: string\n}\n```\n\n### `ApproveExecutionRequest`\n\n```ts\ntype ApproveExecutionRequest = {\n reason?: string\n approved_action_ids?: string[]\n rejected_action_ids?: string[]\n share_scope?: "primary_only" | "primary_and_relations"\n}\n```\n\n### `RejectExecutionRequest`\n\n```ts\ntype RejectExecutionRequest = {\n reason: string\n}\n```\n\n### `ExecuteAgentRequest`\n\n```ts\ntype ExecuteAgentRequest = {\n input?: {\n entity_id?: string\n entity_schema?: string\n workflow_id?: string\n workflow_execution_id?: string\n task_id?: string\n custom_data?: Record<string, unknown>\n flow_context?: Array<{\n entity_id: { ... }\n entity_schema: { ... }\n }>\n }\n parameters?: Record<string, unknown>\n execution_mode_override?: "automatic" | "approval" | "draft"\n execution_context?: "flows" | "copilot" | "api"\n callback_url?: string // uri\n timeout_ms?: number\n}\n```\n\n### `ExecutionResponse`\n\n```ts\ntype ExecutionResponse = {\n execution_id?: string // uuid\n agent_id?: string\n agent_source?: "system" | "custom"\n agent_name?: string\n execution_context?: "flows" | "copilot" | "api"\n org_id?: string\n status?: "pending" | "running" | "waiting_approval" | "completed" | "failed" | "cancelled"\n input?: object\n parameters?: object\n result?: {\n response?: string\n structured_output?: object\n }\n error?: {\n code?: "TIMEOUT" | "MAX_ITERATIONS_EXCEEDED" | "TOOL_EXECUTION_FAILED" | "LLM_ERROR" | "INVALID_OUTPUT" | "REJECTED" | "INTERNAL_ERROR"\n message?: string\n details?: object\n }\n pending_action?: {\n tool?: string\n input?: object\n description?: string\n preview?: {\n action?: { ... }\n source?: { ... }\n target?: { ... }\n changes?: { ... }\n metadata?: { ... }\n summary?: { ... }\n }\n }\n metrics?: {\n total_tokens?: number\n input_tokens?: number\n output_tokens?: number\n total_cost_usd?: number\n duration_ms?: number\n iteration_count?: number\n }\n started_at?: string // date-time\n completed_at?: string // date-time\n iterations?: Array<{\n index?: number\n tool?: string\n status?: "running" | "completed"\n timestamp?: string // date-time\n }>\n}\n```\n\n### `ExecutionIterationProjection`\n\n```ts\ntype ExecutionIterationProjection = {\n index?: number\n tool?: string\n status?: "running" | "completed"\n timestamp?: string // date-time\n}\n```\n\n### `ExecutionTrace`\n\n```ts\ntype ExecutionTrace = {\n execution_id?: string // uuid\n iterations?: Array<{\n iteration_index?: number\n thought?: string\n action?: {\n tool?: { ... }\n input?: { ... }\n }\n observation?: object\n timestamp?: string // date-time\n tokens_used?: number\n latency_ms?: number\n }>\n total_iterations?: number\n}\n```\n\n### `ExecutionIteration`\n\n```ts\ntype ExecutionIteration = {\n iteration_index?: number\n thought?: string\n action?: {\n tool?: string\n input?: object\n }\n observation?: object\n timestamp?: string // date-time\n tokens_used?: number\n latency_ms?: number\n}\n```\n\n### `PendingAction`\n\nAction waiting for approval (when status=waiting_approval)\n\n```ts\ntype PendingAction = {\n tool?: string\n input?: object\n description?: string\n preview?: {\n action?: {\n type: { ... }\n verb: { ... }\n }\n source?: {\n type?: { ... }\n id?: { ... }\n name?: { ... }\n schema?: { ... }\n icon?: { ... }\n url?: { ... }\n }\n target?: {\n type?: { ... }\n id?: { ... }\n name?: { ... }\n schema?: { ... }\n icon?: { ... }\n url?: { ... }\n }\n changes?: Array<{\n field?: { ... }\n label?: { ... }\n from?: { ... }\n to?: { ... }\n }>\n metadata?: Record<string, {\n type: { ... }\n value?: { ... }\n values?: { ... }\n id?: { ... }\n name?: { ... }\n schema?: { ... }\n color?: { ... }\n }>\n summary?: string\n }\n}\n```\n\n### `ExecutionError`\n\n```ts\ntype ExecutionError = {\n code?: "TIMEOUT" | "MAX_ITERATIONS_EXCEEDED" | "TOOL_EXECUTION_FAILED" | "LLM_ERROR" | "INVALID_OUTPUT" | "REJECTED" | "INTERNAL_ERROR"\n message?: string\n details?: object\n}\n```\n\n### `ExecutionMetrics`\n\n```ts\ntype ExecutionMetrics = {\n total_tokens?: number\n input_tokens?: number\n output_tokens?: number\n total_cost_usd?: number\n duration_ms?: number\n iteration_count?: number\n}\n```\n\n### `ToolPreview`\n\nStructured preview data for approval UI. Provides a generic format that any tool can populate.\n\n```ts\ntype ToolPreview = {\n action?: {\n type: "move" | "create" | "update" | "delete" | "apply" | "send" | "link" | "unlink" | "batch_approval"\n verb: string\n }\n source?: {\n type?: string\n id?: string\n name?: string\n schema?: string\n icon?: string\n url?: string\n }\n target?: {\n type?: string\n id?: string\n name?: string\n schema?: string\n icon?: string\n url?: string\n }\n changes?: Array<{\n field?: string\n label?: string\n from?: {\n type: { ... }\n value?: { ... }\n values?: { ... }\n id?: { ... }\n name?: { ... }\n schema?: { ... }\n color?: { ... }\n }\n to?: {\n type: { ... }\n value?: { ... }\n values?: { ... }\n id?: { ... }\n name?: { ... }\n schema?: { ... }\n color?: { ... }\n }\n }>\n metadata?: Record<string, {\n type: "text" | "number" | "boolean" | "list" | "entity" | "badge"\n value?: unknown\n values?: string[]\n id?: string\n name?: string\n schema?: string\n color?: "success" | "warning" | "error" | "info"\n }>\n summary?: string\n}\n```\n\n### `PreviewActionType`\n\nType of action being previewed\n\n```ts\ntype PreviewActionType = "move" | "create" | "update" | "delete" | "apply" | "send" | "link" | "unlink" | "batch_approval"\n```\n\n### `PreviewEntity`\n\nEntity reference for preview display\n\n```ts\ntype PreviewEntity = {\n type?: string\n id?: string\n name?: string\n schema?: string\n icon?: string\n url?: string\n}\n```\n\n### `PreviewChange`\n\nA single field change in the preview\n\n```ts\ntype PreviewChange = {\n field?: string\n label?: string\n from?: {\n type: "text" | "number" | "boolean" | "list" | "entity" | "badge"\n value?: unknown\n values?: string[]\n id?: string\n name?: string\n schema?: string\n color?: "success" | "warning" | "error" | "info"\n }\n to?: {\n type: "text" | "number" | "boolean" | "list" | "entity" | "badge"\n value?: unknown\n values?: string[]\n id?: string\n name?: string\n schema?: string\n color?: "success" | "warning" | "error" | "info"\n }\n}\n```\n\n### `PreviewValue`\n\nTyped value for preview display\n\n```ts\ntype PreviewValue = {\n type: "text" | "number" | "boolean" | "list" | "entity" | "badge"\n value?: unknown\n values?: string[]\n id?: string\n name?: string\n schema?: string\n color?: "success" | "warning" | "error" | "info"\n}\n```\n\n### `ToolDefinition`\n\n```ts\ntype ToolDefinition = {\n tool_id?: string\n name?: string\n description?: string\n category?: "entity" | "message" | "taxonomy" | "rag" | "workflow"\n parameters?: object\n returns?: object\n requires_approval?: boolean\n enabled?: boolean\n}\n```\n\n### `SkillCategory`\n\n```ts\ntype SkillCategory = "message" | "entity" | "document" | "classification" | "custom"\n```\n\n### `AgentSource`\n\n- system: Pre-built by epilot (system skills)\n- custom: Created by organization\n\n\n```ts\ntype AgentSource = "system" | "custom"\n```\n\n### `SkillAvailability`\n\nWhere the skill/agent is available:\n- flows: Available in workflow automations\n- copilot: Available as a sub-agent in copilot\n- portals: Available in end-user self-service portals\n- all: Available everywhere\n\n\n```ts\ntype SkillAvailability = "flows" | "copilot" | "portals" | "all"\n```\n\n### `ExecutionContext`\n\nWhere the execution was triggered from:\n- flows: Triggered from workflow automation\n- copilot: Triggered from copilot assistant\n- api: Direct API call\n\n\n```ts\ntype ExecutionContext = "flows" | "copilot" | "api"\n```\n\n### `ExecutionPattern`\n\n- direct: Single LLM call, no tools\n- react: Multi-step reasoning with tool use\n\n\n```ts\ntype ExecutionPattern = "direct" | "react"\n```\n\n### `ExecutionMode`\n\n- automatic: Execute without human intervention\n- approval: Pause for human approval before tool execution\n- draft: Execute but mark output as draft for review\n\n\n```ts\ntype ExecutionMode = "automatic" | "approval" | "draft"\n```\n\n### `ExecutionStatus`\n\n```ts\ntype ExecutionStatus = "pending" | "running" | "waiting_approval" | "completed" | "failed" | "cancelled"\n```\n\n### `ParameterType`\n\nBase types:\n- text: Text input field\n- textarea: Multi-line text input field\n- number: Numeric input field\n- boolean: Toggle switch\n- select: Dropdown selection (requires enum array)\n\nCustom types (domain-specific):\n- entity-schema: Entity schema selector (fetches from Entity API)\n- entity-attribute\n\n```ts\ntype ParameterType = "text" | "textarea" | "number" | "boolean" | "select" | "entity-schema" | "entity-attribute" | "entity-id" | "taxonomy" | "taxonomy-classification" | "shared-inbox" | "label" | "matching-criteria"\n```\n\n### `InputParameterDefinition`\n\n```ts\ntype InputParameterDefinition = {\n name: string\n label: string\n type: "text" | "textarea" | "number" | "boolean" | "select" | "entity-schema" | "entity-attribute" | "entity-id" | "taxonomy" | "taxonomy-classification" | "shared-inbox" | "label" | "matching-criteria"\n description?: string\n default?: unknown\n multi?: boolean\n dependsOn?: string\n visibleWhen?: Record<string, unknown[]>\n enum?: string[]\n minimum?: number\n maximum?: number\n step?: number\n minLength?: number\n maxLength?: number\n schemaFilter?: string[]\n attributeTypeFilter?: string[]\n hidden?: boolean\n}\n```\n\n### `InputParametersSchema`\n\n```ts\ntype InputParametersSchema = {\n type: "object"\n parameters: Array<{\n name: string\n label: string\n type: "text" | "textarea" | "number" | "boolean" | "select" | "entity-schema" | "entity-attribute" | "entity-id" | "taxonomy" | "taxonomy-classification" | "shared-inbox" | "label" | "matching-criteria"\n description?: string\n default?: unknown\n multi?: boolean\n dependsOn?: string\n visibleWhen?: Record<string, unknown[]>\n enum?: string[]\n minimum?: number\n maximum?: number\n step?: number\n minLength?: number\n maxLength?: number\n schemaFilter?: string[]\n attributeTypeFilter?: string[]\n hidden?: boolean\n }>\n required?: string[]\n}\n```\n\n### `ModelConfig`\n\n```ts\ntype ModelConfig = {\n model_id?: string\n temperature?: number\n max_tokens?: number\n thinking?: boolean\n thinking_budget?: number\n}\n```\n\n### `Error`\n\n```ts\ntype Error = {\n error?: string\n message?: string\n details?: object\n}\n```\n\n### `ChatRequest`\n\n```ts\ntype ChatRequest = {\n agentId: string\n message: string\n conversationId?: string // uuid\n clientHistory?: Array<{\n role: "user" | "assistant" | "tool" | "system"\n content: string\n tool_calls?: Array<{\n id?: { ... }\n name?: { ... }\n input?: { ... }\n output?: { ... }\n }>\n }>\n context?: {\n entityId?: string\n customData?: Record<string, unknown>\n }\n streaming?: {\n mode?: "updates" | "messages"\n streamTokens?: boolean\n includeMetadata?: boolean\n }\n}\n```\n\n### `ChatMessage`\n\n```ts\ntype ChatMessage = {\n role: "user" | "assistant" | "tool" | "system"\n content: string\n tool_calls?: Array<{\n id?: string\n name?: string\n input?: object\n output?: string\n }>\n}\n```\n\n### `StreamingOptions`\n\n```ts\ntype StreamingOptions = {\n mode?: "updates" | "messages"\n streamTokens?: boolean\n includeMetadata?: boolean\n}\n```\n\n### `StreamEvent`\n\nServer-Sent Event for streaming responses\n\n```ts\ntype StreamEvent = {\n type?: "token" | "agent_step" | "tool_call" | "tool_result" | "complete" | "error" | "metadata" | "needs_approval"\n content?: string\n index?: number\n tool?: string\n input?: object\n output?: string\n callId?: string\n result?: {\n response?: string\n structured_output?: object\n status?: "completed" | "failed" | "max_iterations" | "rejected"\n metrics?: {\n total_tokens?: { ... }\n input_tokens?: { ... }\n output_tokens?: { ... }\n total_cost_usd?: { ... }\n duration_ms?: { ... }\n iteration_count?: { ... }\n }\n }\n error?: {\n code?: string\n message?: string\n }\n conversationId?: string // uuid\n}\n```\n\n### `ExecutionResult`\n\n```ts\ntype ExecutionResult = {\n response?: string\n structured_output?: object\n status?: "completed" | "failed" | "max_iterations" | "rejected"\n metrics?: {\n total_tokens?: number\n input_tokens?: number\n output_tokens?: number\n total_cost_usd?: number\n duration_ms?: number\n iteration_count?: number\n }\n}\n```\n\n### `ConversationItem`\n\n```ts\ntype ConversationItem = {\n conversation_id?: string // uuid\n user_id?: string\n agent_id?: string\n title?: string\n message_count?: number\n last_message?: string\n last_message_at?: string // date-time\n context?: {\n entityId?: string\n customData?: object\n }\n created_at?: string // date-time\n updated_at?: string // date-time\n}\n```\n\n### `MessageItem`\n\n```ts\ntype MessageItem = {\n conversation_id?: string // uuid\n role?: "user" | "assistant" | "tool" | "system"\n content?: string\n timestamp?: string // date-time\n tool_calls?: Array<{\n id?: string\n name?: string\n input?: object\n output?: string\n }>\n token_count?: number\n trace_id?: string // uuid\n feedback?: {\n rating: "up" | "down"\n comment?: string\n user_id: string\n submitted_at: string // date-time\n }\n}\n```\n\n### `MessageFeedback`\n\n```ts\ntype MessageFeedback = {\n rating: "up" | "down"\n comment?: string\n user_id: string\n submitted_at: string // date-time\n}\n```\n\n### `SubmitFeedbackRequest`\n\n```ts\ntype SubmitFeedbackRequest = {\n trace_id: string // uuid\n rating: "up" | "down"\n comment?: string\n}\n```\n\n### `ListConversationsResponse`\n\n```ts\ntype ListConversationsResponse = {\n conversations?: Array<{\n conversation_id?: string // uuid\n user_id?: string\n agent_id?: string\n title?: string\n message_count?: number\n last_message?: string\n last_message_at?: string // date-time\n context?: {\n entityId?: { ... }\n customData?: { ... }\n }\n created_at?: string // date-time\n updated_at?: string // date-time\n }>\n next_cursor?: string\n}\n```\n\n### `ConversationWithMessages`\n\n```ts\ntype ConversationWithMessages = {\n conversation?: {\n conversation_id?: string // uuid\n user_id?: string\n agent_id?: string\n title?: string\n message_count?: number\n last_message?: string\n last_message_at?: string // date-time\n context?: {\n entityId?: { ... }\n customData?: { ... }\n }\n created_at?: string // date-time\n updated_at?: string // date-time\n }\n messages?: Array<{\n conversation_id?: string // uuid\n role?: "user" | "assistant" | "tool" | "system"\n content?: string\n timestamp?: string // date-time\n tool_calls?: Array<{\n id?: { ... }\n name?: { ... }\n input?: { ... }\n output?: { ... }\n }>\n token_count?: number\n trace_id?: string // uuid\n feedback?: {\n rating: { ... }\n comment?: { ... }\n user_id: { ... }\n submitted_at: { ... }\n }\n }>\n}\n```\n';
5
-
6
-
7
- exports.default = ai_agents_default;