@lunnoa/client 1.4.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.d.cts CHANGED
@@ -245,64 +245,6 @@ interface components {
245
245
  /** @description Availability of authentication methods for this deployment. */
246
246
  AUTH_METHODS: components["schemas"]["AuthMethodFlagsDto"];
247
247
  };
248
- CreateProjectDto: {
249
- /** @description Name of the project. */
250
- name: string;
251
- /** @description Description of the project. */
252
- description?: string;
253
- };
254
- ProjectCountDto: {
255
- /** @description Number of agents in the project. */
256
- agents?: number;
257
- /** @description Number of variables in the project. */
258
- variables?: number;
259
- /** @description Number of workflows in the project. */
260
- workflows?: number;
261
- };
262
- ProjectCreatedByUserDto: {
263
- /** @description User ID. */
264
- id: string;
265
- /** @description User email address. */
266
- email: string;
267
- /** @description User display name. */
268
- name: string;
269
- };
270
- ProjectCreatedByWorkspaceUserDto: {
271
- /** @description Workspace user ID. */
272
- id: string;
273
- /** @description The underlying user. */
274
- user: components["schemas"]["ProjectCreatedByUserDto"];
275
- };
276
- ProjectWorkflowSummaryDto: {
277
- /** @description Workflow ID. */
278
- id: string;
279
- /** @description Workflow name. */
280
- name: string;
281
- };
282
- ProjectResponseDto: {
283
- /** @description Project ID. */
284
- id: string;
285
- /** @description Project name. */
286
- name: string;
287
- /** @description Project description. Included when `expansion=description` is requested. */
288
- description?: string;
289
- /**
290
- * Format: date-time
291
- * @description Creation timestamp. Included when `expansion=createdAt` is requested.
292
- */
293
- createdAt?: string;
294
- /**
295
- * Format: date-time
296
- * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
297
- */
298
- updatedAt?: string;
299
- /** @description Aggregate counts. Included when `expansion=countAgents` is requested; countVariables and countWorkflows add their respective counts. */
300
- _count?: components["schemas"]["ProjectCountDto"];
301
- /** @description Workspace user who created the project. Included when `expansion=createdByWorkspaceUser` is requested. */
302
- createdByWorkspaceUser?: components["schemas"]["ProjectCreatedByWorkspaceUserDto"];
303
- /** @description Workflows in the project. Included when `expansion=workflows` is requested. */
304
- workflows?: components["schemas"]["ProjectWorkflowSummaryDto"][];
305
- };
306
248
  CreateQueueDto: {
307
249
  /** @description Human-readable name for the queue. */
308
250
  name: string;
@@ -319,12 +261,6 @@ interface components {
319
261
  /** @description Default priority for items in this queue. Higher values are processed first. Defaults to 0. */
320
262
  priority?: number;
321
263
  };
322
- QueueProjectSummaryDto: {
323
- /** @description Project ID. */
324
- id: string;
325
- /** @description Project name. */
326
- name: string;
327
- };
328
264
  QueueWorkspaceSummaryDto: {
329
265
  /** @description Workspace ID. */
330
266
  id: string;
@@ -394,8 +330,6 @@ interface components {
394
330
  successItems?: number;
395
331
  /** @description Number of failed items. Included when `expansion=statistics` is requested. */
396
332
  failedItems?: number;
397
- /** @description Owning project. Included when `expansion=project` is requested. */
398
- project?: components["schemas"]["QueueProjectSummaryDto"];
399
333
  /** @description Owning workspace. Included when `expansion=workspace` is requested. */
400
334
  workspace?: components["schemas"]["QueueWorkspaceSummaryDto"];
401
335
  /** @description Workspace user who created the queue. Included when `expansion=createdByWorkspaceUser` is requested. */
@@ -856,7 +790,9 @@ interface components {
856
790
  /** @description Error message to record against the queue item. */
857
791
  error: string;
858
792
  /** @description Additional structured error details, supplied as a JSON string. */
859
- errorDetails?: string;
793
+ errorDetails?: {
794
+ [key: string]: unknown;
795
+ };
860
796
  };
861
797
  BulkDeleteItemsDto: {
862
798
  /** @description IDs of the queue items to delete. */
@@ -870,18 +806,44 @@ interface components {
870
806
  /** @description Number of item IDs submitted for deletion. */
871
807
  requestedCount: number;
872
808
  };
873
- WorkflowProjectSummaryDto: {
874
- /** @description Project ID */
875
- id: string;
876
- /** @description Project name */
877
- name: string;
809
+ UpsertWorkflowStepDto: {
810
+ /** @description Workflow app id (catalogue slug). */
811
+ appId: string;
812
+ /** @description Catalogue action id. */
813
+ actionId: string;
814
+ /** @description Connection instance UUID for this step. */
815
+ connectionId?: string;
816
+ /** @description Action input / config fields. */
817
+ input?: {
818
+ [key: string]: unknown;
819
+ };
820
+ /** @description Display name for the step node. */
821
+ name?: string;
822
+ /** @description Step description. */
823
+ description?: string;
824
+ };
825
+ UpsertWorkflowBySlugDto: {
826
+ /**
827
+ * @description Stable workspace-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
828
+ * @example sync-orders
829
+ */
830
+ slug: string;
831
+ /** @description Display name. Defaults to the slug when omitted. */
832
+ name?: string;
833
+ description?: string;
834
+ /** @description Whether the workflow is active. */
835
+ isActive?: boolean;
836
+ /** @description Linear catalogue-action steps (v1; no branches). */
837
+ steps: components["schemas"]["UpsertWorkflowStepDto"][];
838
+ /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
839
+ managedByCode?: boolean;
878
840
  };
879
841
  WorkflowResponseDto: {
880
842
  /** @description Workflow ID */
881
843
  id: string;
882
844
  /** @description Workflow name */
883
845
  name: string;
884
- /** @description Stable project-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
846
+ /** @description Stable workspace-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
885
847
  slug?: string | null;
886
848
  /** @description True when last written by code (CLI / SDK). Included when `expansion=managedByCode` is requested. */
887
849
  managedByCode?: boolean;
@@ -905,6 +867,14 @@ interface components {
905
867
  isActive?: boolean;
906
868
  /** @description Whether the workflow is internal (hidden from default listings). Included when `expansion=isInternal` is requested. */
907
869
  isInternal?: boolean;
870
+ /** @description Object type whose records list this workflow's runs. Included when `expansion=objectLink` is requested. */
871
+ objectTypeId?: string | null;
872
+ /** @description Dot path on the trigger payload. A Lunnoa id when the type has no unique key, otherwise that key's value. Included when `expansion=objectLink` is requested. */
873
+ objectIdPath?: string | null;
874
+ /** @description Create a record when the unique key value is not found, then file the run on it. Included when `expansion=objectLink` is requested. */
875
+ createObjectIfMissing?: boolean;
876
+ /** @description Unique key on the linked object type (`name` or `attribute:<field>`). Included when `expansion=objectLink` is requested. */
877
+ uniqueKeyField?: string | null;
908
878
  /** @description Workflow node definitions (JSON). Included when `expansion=nodes` is requested. */
909
879
  nodes?: {
910
880
  [key: string]: unknown;
@@ -935,491 +905,121 @@ interface components {
935
905
  * @enum {string}
936
906
  */
937
907
  workflowOrientation?: "HORIZONTAL" | "VERTICAL";
938
- /** @description The project the workflow belongs to. Included when `expansion=project` is requested. */
939
- project?: components["schemas"]["WorkflowProjectSummaryDto"];
940
908
  /** @description AI provider connection used by the workflow builder chat. Always returned on GET /workflows/{workflowId}. */
941
909
  aiConnectionId?: string | null;
942
910
  /** @description Selected model ID within the AI provider connection for workflow builder chat. Always returned on GET /workflows/{workflowId}. */
943
911
  selectedModelId?: string | null;
944
912
  };
945
- UpsertWorkflowStepDto: {
913
+ UpsertAgentToolDto: {
946
914
  /** @description Workflow app id (catalogue slug). */
947
915
  appId: string;
948
916
  /** @description Catalogue action id. */
949
917
  actionId: string;
950
- /** @description Connection instance UUID for this step. */
918
+ /** @description Connection instance UUID pre-bound on the tool. */
951
919
  connectionId?: string;
952
- /** @description Action input / config fields. */
920
+ /** @description Tool display name for the model. */
921
+ name?: string;
922
+ /** @description Tool description shown to the model. */
923
+ description?: string;
924
+ /** @description Pre-filled tool config (fields left empty are filled by the model). */
953
925
  input?: {
954
926
  [key: string]: unknown;
955
927
  };
956
- /** @description Display name for the step node. */
957
- name?: string;
958
- /** @description Step description. */
959
- description?: string;
960
928
  };
961
- UpsertWorkflowBySlugDto: {
929
+ UpsertAgentBySlugDto: {
962
930
  /**
963
- * @description Stable project-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
964
- * @example sync-orders
931
+ * @description Stable workspace-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
932
+ * @example support-triage
965
933
  */
966
934
  slug: string;
967
935
  /** @description Display name. Defaults to the slug when omitted. */
968
936
  name?: string;
969
937
  description?: string;
970
- /** @description Whether the workflow is active. */
971
- isActive?: boolean;
972
- /** @description Linear catalogue-action steps (v1; no branches). */
973
- steps: components["schemas"]["UpsertWorkflowStepDto"][];
938
+ /** @description System instructions / prompt for the agent. */
939
+ instructions: string;
940
+ /** @description Selected model id on the AI provider connection (e.g. `gpt-4o`). */
941
+ model: string;
942
+ /** @description AiProviderConnection UUID. When omitted, platform AI defaults apply. */
943
+ aiConnectionId?: string;
944
+ /** @description App Connection UUIDs the agent may use for tools. */
945
+ connectionIds?: string[];
946
+ /** @description Workflow UUIDs the agent may run (AgentWorkflow links). */
947
+ workflowIds?: string[];
948
+ /** @description Catalogue action tools (WorkflowNodeForRunner-shaped). */
949
+ tools?: components["schemas"]["UpsertAgentToolDto"][];
974
950
  /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
975
951
  managedByCode?: boolean;
976
952
  };
977
- UpsertObjectTypeBySlugDto: {
978
- /** @description Stable deployment-wide slug (lowercase, digits, hyphens). Used as the upsert key. Granted to the caller workspace when new. */
979
- slug: string;
980
- /** @description Singular display name. */
981
- name?: string;
982
- /** @description Plural display name. */
983
- namePlural?: string;
984
- /** @description Description. */
985
- description?: string;
986
- /**
987
- * @description Icon identifier.
988
- * @default box
989
- */
990
- icon: string;
991
- /**
992
- * @description Hex colour.
993
- * @default #3B82F6
994
- */
995
- color: string;
996
- /** @description Field definitions grouped into sections. */
997
- attributeSchema: {
998
- [key: string]: unknown;
999
- };
1000
- /** @description Optional state machine definition. */
1001
- stateSchema?: {
1002
- [key: string]: unknown;
1003
- } | null;
1004
- /** @description Whether the type is enabled. */
1005
- isEnabled?: boolean;
953
+ AgentResponseDto: {
1006
954
  /**
1007
- * @description When false (default), reject unknown attribute keys on entity writes.
1008
- * @default false
955
+ * @description Agent ID (UUID)
956
+ * @example 4f7c9d2e-8a1b-4c3d-9e5f-6a7b8c9d0e1f
1009
957
  */
1010
- allowUnknownAttributes: boolean;
958
+ id: string;
1011
959
  /**
1012
- * @description Marks the type as code-managed. Defaults to true on upsert.
1013
- * @default true
960
+ * @description Agent name
961
+ * @example Invoice Triage Agent
1014
962
  */
1015
- managedByCode: boolean;
1016
- };
1017
- ObjectTypeUserSummaryDto: {
1018
- /** @description User ID. */
1019
- id: string;
1020
- /** @description Email address of the user. */
1021
- email: string;
1022
- /** @description Display name of the user. */
1023
- name: string;
1024
- };
1025
- ObjectTypeCreatedByDto: {
1026
- /** @description Workspace user ID. */
1027
- id: string;
1028
- user: components["schemas"]["ObjectTypeUserSummaryDto"];
1029
- };
1030
- ObjectTypeCountDto: {
1031
- /** @description Number of non-deleted entities of this type. */
1032
- objects: number;
1033
- };
1034
- ObjectTypeResponseDto: {
1035
- /** @description Entity type ID. */
1036
- id: string;
1037
- /** @description Singular display name of the entity type. */
1038
963
  name: string;
1039
- /** @description Plural display name of the entity type. */
1040
- namePlural: string;
1041
- /** @description URL-safe slug, unique across the deployment. */
1042
- slug: string;
1043
- /** @description Icon identifier for the entity type. */
1044
- icon: string;
1045
- /** @description Hex colour of the entity type. */
1046
- color: string;
1047
- /** @description Whether the entity type is enabled. */
1048
- isEnabled: boolean;
1049
- /** @description When false, entity create/update rejects attribute keys not declared on the type. Reserved key `extensions` is always allowed. */
1050
- allowUnknownAttributes: boolean;
1051
- /** @description True when last written by code (CLI / SDK upsert). */
1052
- managedByCode: boolean;
1053
- /** @description Incremented when attributeSchema, stateSchema, or allowUnknownAttributes changes. */
1054
- schemaRevision: number;
1055
- /** @description Description of the entity type. Included when `expansion=description` is requested. */
964
+ /** @description Stable workspace-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
965
+ slug?: string | null;
966
+ /** @description True when last written by code (CLI / SDK). Included when `expansion=managedByCode` is requested. */
967
+ managedByCode?: boolean;
968
+ /** @description ID of the AI provider connection assigned to the agent. Always included. Null when the agent falls back to the workspace default connection. */
969
+ FK_aiConnectionId: string | null;
970
+ /** @description Agent description. Included when `expansion=description` is requested. */
1056
971
  description?: string | null;
1057
- /** @description Field definitions grouped into sections. Included when `expansion=attributeSchema` is requested. */
1058
- attributeSchema?: {
1059
- [key: string]: unknown;
1060
- };
1061
- /** @description State machine definition. Included when `expansion=stateSchema` is requested. */
1062
- stateSchema?: {
1063
- [key: string]: unknown;
1064
- } | null;
972
+ /** @description Public URL of the agent profile image. Included when `expansion=profileImageUrl` is requested. */
973
+ profileImageUrl?: string | null;
1065
974
  /**
1066
975
  * Format: date-time
1067
- * @description Included when `expansion=createdAt` is requested.
976
+ * @description Creation timestamp. Included when `expansion=createdAt` is requested.
1068
977
  */
1069
978
  createdAt?: string;
1070
979
  /**
1071
980
  * Format: date-time
1072
- * @description Included when `expansion=updatedAt` is requested.
981
+ * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
1073
982
  */
1074
983
  updatedAt?: string;
1075
- /** @description Workspace member who created the entity type. Included when `expansion=createdBy` is requested. */
1076
- createdBy?: components["schemas"]["ObjectTypeCreatedByDto"];
1077
- /** @description Included when `expansion=countObjects` is requested. */
1078
- _count?: components["schemas"]["ObjectTypeCountDto"];
1079
- };
1080
- CreateObjectDto: {
1081
- /** @description Display name of the entity. */
1082
- name: string;
984
+ /** @description System instructions authored for the agent. Included when `expansion=instructions` is requested. */
985
+ instructions?: string | null;
1083
986
  /**
1084
- * Format: uuid
1085
- * @description ID of the entity type to create the entity under.
987
+ * @description Model temperature. Included when `expansion=temperature` is requested.
988
+ * @example 1
1086
989
  */
1087
- objectTypeId: string;
1088
- /** @description Initial state ID. Must exist in the entity type state schema. Defaults to the schema initial state when omitted. */
1089
- state?: string;
1090
- /** @description Dynamic attribute values keyed by field ID. */
1091
- attributes?: {
1092
- [key: string]: unknown;
1093
- };
1094
- };
1095
- ObjectTypeSummaryDto: {
1096
- /** @description Entity type ID. */
1097
- id: string;
1098
- /** @description Singular display name of the entity type. */
1099
- name: string;
1100
- /** @description URL-safe slug of the entity type. */
1101
- slug: string;
1102
- /** @description Icon identifier for the entity type. */
1103
- icon: string;
1104
- /** @description Hex colour of the entity type. */
1105
- color: string;
1106
- /** @description Plural display name. Included when `expansion=objectType` is requested. */
1107
- namePlural?: string;
1108
- /** @description Field definitions grouped into sections. Included when `expansion=objectType` is requested on single-entity reads. */
1109
- attributeSchema?: {
1110
- [key: string]: unknown;
1111
- };
1112
- /** @description State machine definition. Included when `expansion=objectType` is requested. */
1113
- stateSchema?: {
1114
- [key: string]: unknown;
1115
- } | null;
1116
- };
1117
- ObjectUserSummaryDto: {
1118
- /** @description User ID. */
1119
- id: string;
1120
- /** @description Email address of the user. */
1121
- email: string;
1122
- /** @description Display name of the user. */
1123
- name: string;
1124
- };
1125
- ObjectWorkspaceUserSummaryDto: {
1126
- /** @description Workspace user ID. */
1127
- id: string;
1128
- user: components["schemas"]["ObjectUserSummaryDto"];
1129
- };
1130
- ObjectStateHistoryUserSummaryDto: {
1131
- /** @description User ID. */
1132
- id: string;
1133
- /** @description Display name of the user. */
1134
- name: string;
1135
- };
1136
- ObjectStateHistoryChangedByDto: {
1137
- /** @description Workspace user ID. */
1138
- id: string;
1139
- user: components["schemas"]["ObjectStateHistoryUserSummaryDto"];
1140
- };
1141
- ObjectStateHistoryItemDto: {
1142
- /** @description State history entry ID. */
1143
- id: string;
1144
- /** @description State the entity moved from. Null for the initial state. */
1145
- fromState: string | null;
1146
- /** @description State the entity moved to. */
1147
- toState: string;
1148
- /** @description Reason recorded for the state change, if any. */
1149
- reason: string | null;
1150
- /**
1151
- * Format: date-time
1152
- * @description When the state change occurred.
1153
- */
1154
- createdAt: string;
1155
- /** @description Workspace member who made the change, if recorded. */
1156
- changedBy: components["schemas"]["ObjectStateHistoryChangedByDto"] | null;
1157
- };
1158
- ObjectResponseDto: {
1159
- /** @description Entity ID. */
1160
- id: string;
1161
- /** @description Display name of the entity. */
1162
- name: string;
1163
- /** @description Current state of the entity, if the type defines states. */
1164
- state: string | null;
1165
- /** @description Dynamic attribute values keyed by field ID. */
1166
- attributes: {
1167
- [key: string]: unknown;
1168
- };
990
+ temperature?: number;
991
+ /** @description Maximum output tokens per turn. Included when `expansion=maxOutputTokens` is requested. */
992
+ maxOutputTokens?: number | null;
1169
993
  /**
1170
- * Format: date-time
1171
- * @description Included when `expansion=createdAt` is requested.
994
+ * @description Top-p sampling. Included when `expansion=topP` is requested.
995
+ * @example 1
1172
996
  */
1173
- createdAt?: string;
997
+ topP?: number;
1174
998
  /**
1175
- * Format: date-time
1176
- * @description Included by default on list responses, otherwise when `expansion=updatedAt` is requested.
999
+ * @description Frequency penalty. Included when `expansion=frequencyPenalty` is requested.
1000
+ * @example 0
1177
1001
  */
1178
- updatedAt?: string;
1179
- /** @description Included by default on list responses with a minimal shape, otherwise when `expansion=objectType` is requested. */
1180
- objectType?: components["schemas"]["ObjectTypeSummaryDto"];
1181
- /** @description Included when `expansion=owner` is requested. */
1182
- owner?: components["schemas"]["ObjectWorkspaceUserSummaryDto"] | null;
1183
- /** @description Included when `expansion=createdBy` is requested. */
1184
- createdBy?: components["schemas"]["ObjectWorkspaceUserSummaryDto"] | null;
1185
- /** @description Most recent state changes (up to 50, newest first). Included when `expansion=stateHistory` is requested. */
1186
- stateHistory?: components["schemas"]["ObjectStateHistoryItemDto"][];
1187
- };
1188
- ObjectPaginationDto: {
1189
- /** @description Current page number (1-based). */
1190
- page: number;
1191
- /** @description Number of items per page (maximum 100). */
1192
- pageSize: number;
1193
- /** @description Total number of matching entities. */
1194
- totalCount: number;
1195
- /** @description Total number of pages. */
1196
- totalPages: number;
1197
- };
1198
- PaginatedObjectsResponseDto: {
1199
- data: components["schemas"]["ObjectResponseDto"][];
1200
- pagination: components["schemas"]["ObjectPaginationDto"];
1201
- };
1202
- UpdateObjectDto: {
1203
- /** @description New display name of the entity. */
1204
- name?: string;
1205
- /** @description Attribute values keyed by field ID. Merged into the existing attributes; fields not supplied are left unchanged. */
1206
- attributes?: {
1207
- [key: string]: unknown;
1208
- };
1209
- };
1210
- ChangeObjectStateDto: {
1211
- /** @description ID of the target state. Must be a valid transition from the current state when the entity type defines transitions. */
1212
- newState: string;
1213
- /** @description Reason for the state change. Required when the transition is configured with requiresReason. */
1214
- reason?: string;
1215
- };
1216
- ChangeObjectStateResponseDto: {
1217
- /** @description Entity ID. */
1218
- id: string;
1219
- /** @description Display name of the entity. */
1220
- name: string;
1221
- /** @description State of the entity after the change. */
1222
- state: string | null;
1002
+ frequencyPenalty?: number;
1223
1003
  /**
1224
- * Format: date-time
1225
- * @description When the entity was last updated.
1004
+ * @description Presence penalty. Included when `expansion=presencePenalty` is requested.
1005
+ * @example 0
1226
1006
  */
1227
- updatedAt: string;
1228
- };
1229
- StateHistoryUserSummaryDto: {
1230
- /** @description User ID. */
1231
- id: string;
1232
- /** @description Display name of the user. */
1233
- name: string;
1234
- /** @description Email address of the user. */
1235
- email: string;
1236
- };
1237
- StateHistoryChangedByDto: {
1238
- /** @description Workspace user ID. */
1239
- id: string;
1240
- user: components["schemas"]["StateHistoryUserSummaryDto"];
1241
- };
1242
- ObjectStateHistoryEntryResponseDto: {
1243
- /** @description State history entry ID. */
1244
- id: string;
1245
- /** @description State the entity moved from. Null for the initial state. */
1246
- fromState: string | null;
1247
- /** @description State the entity moved to. */
1248
- toState: string;
1249
- /** @description Reason recorded for the state change, if any. */
1250
- reason: string | null;
1007
+ presencePenalty?: number;
1251
1008
  /**
1252
- * Format: date-time
1253
- * @description When the state change occurred.
1009
+ * @description Maximum retries for a failed model call. Included when `expansion=maxRetries` is requested.
1010
+ * @example 0
1254
1011
  */
1255
- createdAt: string;
1256
- /** @description Workspace member who made the change, if recorded. */
1257
- changedBy: components["schemas"]["StateHistoryChangedByDto"] | null;
1258
- };
1259
- ObjectStateInfoDto: {
1260
- /** @description State ID. */
1261
- id: string;
1262
- /** @description Display name of the state. */
1263
- name: string;
1264
- /** @description Colour associated with the state. */
1265
- color?: string;
1266
- /** @description Icon associated with the state. */
1267
- icon?: string;
1268
- /** @description Whether the state is a final state. */
1269
- isFinal: boolean;
1270
- };
1271
- ObjectStateTransitionDto: {
1272
- /** @description Transition ID from the state schema. */
1273
- transitionId: string;
1274
- /** @description ID of the target state. */
1275
- toStateId: string;
1276
- /** @description Display name of the target state. */
1277
- toStateName: string;
1278
- /** @description Colour of the target state. */
1279
- toStateColor?: string;
1280
- /** @description Icon of the target state. */
1281
- toStateIcon?: string;
1282
- /** @description Whether a reason must be supplied for this transition. */
1283
- requiresReason: boolean;
1284
- /** @description Confirmation message to show before applying the transition. */
1285
- confirmationMessage?: string;
1286
- };
1287
- ObjectStateTransitionsResponseDto: {
1288
- /** @description Current state of the entity. Null when the entity has no state or the type defines no state schema. */
1289
- currentState: components["schemas"]["ObjectStateInfoDto"] | null;
1290
- /** @description Transitions allowed from the current state. */
1291
- validTransitions: components["schemas"]["ObjectStateTransitionDto"][];
1292
- /** @description All states defined by the entity type, for cases where no transitions are defined. */
1293
- allStates: components["schemas"]["ObjectStateInfoDto"][];
1294
- };
1295
- ImportRowErrorDto: {
1296
- /** @description Row number the error relates to (1-based). */
1297
- row: number;
1298
- /** @description Field ID the error relates to, when applicable. */
1299
- field?: string;
1300
- /** @description Human-readable error message. */
1301
- message: string;
1302
- };
1303
- ImportEntitiesResponseDto: {
1304
- /** @description Total number of rows processed. */
1305
- totalRows: number;
1306
- /** @description Number of rows imported successfully. */
1307
- successCount: number;
1308
- /** @description Number of rows that failed to import. */
1309
- errorCount: number;
1310
- /** @description Per-row errors encountered during the import. */
1311
- errors: components["schemas"]["ImportRowErrorDto"][];
1312
- /** @description IDs of entities created by the import. */
1313
- createdIds: string[];
1314
- /** @description IDs of existing entities updated by the import. */
1315
- updatedIds: string[];
1316
- };
1317
- ImportTemplateResponseDto: {
1318
- /** @description Column headers for the import file. Always starts with "name". */
1319
- columns: string[];
1320
- /** @description Sample row with an example value for each column. */
1321
- sampleRow: {
1322
- [key: string]: string;
1323
- };
1324
- };
1325
- WorkflowAppResponseDto: {
1326
- /** @description App ID, e.g. `gmail`. Matches the appId used in workflow execution steps. */
1327
- id: string;
1328
- /** @description Human-readable app name. */
1329
- name: string;
1330
- /** @description App description. */
1331
- description: string;
1332
- /** @description URL of the app logo. */
1333
- logoUrl: string;
1334
- /** @description Whether the app is published and available for use. */
1335
- isPublished: boolean;
1336
- /** @description Whether the app requires a connection before its actions and triggers can run. */
1337
- needsConnection: boolean;
1338
- /** @description Whether the app can be used by agents. */
1339
- availableForAgent: boolean;
1340
- /** @description Action definitions, each with id, name, description, iconUrl, needsConnection, availableForAgent, viewOptions and the declarative inputConfig field metadata used to render action UIs. */
1341
- actions: {
1342
- [key: string]: unknown;
1343
- }[];
1344
- /** @description Trigger definitions, each with id, name, description, iconUrl, needsConnection and the declarative inputConfig field metadata used to render trigger UIs. */
1345
- triggers: {
1346
- [key: string]: unknown;
1347
- }[];
1348
- /** @description Connection type definitions supported by the app (e.g. oauth2, apiKey, basic), each with id, name, description, connectionType and any declarative inputConfig fields. */
1349
- connections: {
1350
- [key: string]: unknown;
1351
- }[];
1352
- };
1353
- AgentResponseDto: {
1012
+ maxRetries?: number;
1013
+ /** @description Fixed sampling seed. Included when `expansion=seed` is requested. */
1014
+ seed?: number | null;
1354
1015
  /**
1355
- * @description Agent ID (UUID)
1356
- * @example 4f7c9d2e-8a1b-4c3d-9e5f-6a7b8c9d0e1f
1016
+ * @description Maximum tool roundtrips per turn. Included when `expansion=maxToolRoundtrips` is requested.
1017
+ * @example 5
1357
1018
  */
1358
- id: string;
1019
+ maxToolRoundtrips?: number;
1359
1020
  /**
1360
- * @description Agent name
1361
- * @example Invoice Triage Agent
1362
- */
1363
- name: string;
1364
- /** @description Stable project-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
1365
- slug?: string | null;
1366
- /** @description True when last written by code (CLI / SDK). Included when `expansion=managedByCode` is requested. */
1367
- managedByCode?: boolean;
1368
- /** @description ID of the AI provider connection assigned to the agent. Always included. Null when the agent falls back to the workspace default connection. */
1369
- FK_aiConnectionId: string | null;
1370
- /** @description Agent description. Included when `expansion=description` is requested. */
1371
- description?: string | null;
1372
- /** @description Public URL of the agent profile image. Included when `expansion=profileImageUrl` is requested. */
1373
- profileImageUrl?: string | null;
1374
- /**
1375
- * Format: date-time
1376
- * @description Creation timestamp. Included when `expansion=createdAt` is requested.
1377
- */
1378
- createdAt?: string;
1379
- /**
1380
- * Format: date-time
1381
- * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
1382
- */
1383
- updatedAt?: string;
1384
- /** @description System instructions authored for the agent. Included when `expansion=instructions` is requested. */
1385
- instructions?: string | null;
1386
- /**
1387
- * @description Model temperature. Included when `expansion=temperature` is requested.
1388
- * @example 1
1389
- */
1390
- temperature?: number;
1391
- /** @description Maximum output tokens per turn. Included when `expansion=maxOutputTokens` is requested. */
1392
- maxOutputTokens?: number | null;
1393
- /**
1394
- * @description Top-p sampling. Included when `expansion=topP` is requested.
1395
- * @example 1
1396
- */
1397
- topP?: number;
1398
- /**
1399
- * @description Frequency penalty. Included when `expansion=frequencyPenalty` is requested.
1400
- * @example 0
1401
- */
1402
- frequencyPenalty?: number;
1403
- /**
1404
- * @description Presence penalty. Included when `expansion=presencePenalty` is requested.
1405
- * @example 0
1406
- */
1407
- presencePenalty?: number;
1408
- /**
1409
- * @description Maximum retries for a failed model call. Included when `expansion=maxRetries` is requested.
1410
- * @example 0
1411
- */
1412
- maxRetries?: number;
1413
- /** @description Fixed sampling seed. Included when `expansion=seed` is requested. */
1414
- seed?: number | null;
1415
- /**
1416
- * @description Maximum tool roundtrips per turn. Included when `expansion=maxToolRoundtrips` is requested.
1417
- * @example 5
1418
- */
1419
- maxToolRoundtrips?: number;
1420
- /**
1421
- * @description How many previous messages are sent to the model. Included when `expansion=messageLookbackLimit` is requested.
1422
- * @example 40
1021
+ * @description How many previous messages are sent to the model. Included when `expansion=messageLookbackLimit` is requested.
1022
+ * @example 40
1423
1023
  */
1424
1024
  messageLookbackLimit?: number;
1425
1025
  /** @description Configured tool nodes (app actions) for the agent. Included when `expansion=tools` is requested. */
@@ -1604,51 +1204,387 @@ interface components {
1604
1204
  outboundCallsEnabled?: boolean;
1605
1205
  inboundCallsEnabled?: boolean;
1606
1206
  } | null;
1607
- /** @description Project the agent belongs to. Included when `expansion=project` is requested. */
1608
- project?: {
1609
- id?: string;
1610
- name?: string;
1611
- };
1612
1207
  };
1613
- UpsertAgentToolDto: {
1614
- /** @description Workflow app id (catalogue slug). */
1615
- appId: string;
1616
- /** @description Catalogue action id. */
1617
- actionId: string;
1618
- /** @description Connection instance UUID pre-bound on the tool. */
1619
- connectionId?: string;
1620
- /** @description Tool display name for the model. */
1208
+ WorkflowAppResponseDto: {
1209
+ /** @description App ID, e.g. `gmail`. Matches the appId used in workflow execution steps. */
1210
+ id: string;
1211
+ /** @description Human-readable app name. */
1212
+ name: string;
1213
+ /** @description App description. */
1214
+ description: string;
1215
+ /** @description URL of the app logo. */
1216
+ logoUrl: string;
1217
+ /** @description Whether the app is published and available for use. */
1218
+ isPublished: boolean;
1219
+ /** @description Whether the app requires a connection before its actions and triggers can run. */
1220
+ needsConnection: boolean;
1221
+ /** @description Whether the app can be used by agents. */
1222
+ availableForAgent: boolean;
1223
+ /** @description Action definitions, each with id, name, description, iconUrl, needsConnection, availableForAgent, viewOptions and the declarative inputConfig field metadata used to render action UIs. */
1224
+ actions: {
1225
+ [key: string]: unknown;
1226
+ }[];
1227
+ /** @description Trigger definitions, each with id, name, description, iconUrl, needsConnection and the declarative inputConfig field metadata used to render trigger UIs. */
1228
+ triggers: {
1229
+ [key: string]: unknown;
1230
+ }[];
1231
+ /** @description Connection type definitions supported by the app (e.g. oauth2, apiKey, basic), each with id, name, description, connectionType and any declarative inputConfig fields. */
1232
+ connections: {
1233
+ [key: string]: unknown;
1234
+ }[];
1235
+ };
1236
+ UpsertObjectTypeBySlugDto: {
1237
+ /** @description Stable deployment-wide slug (lowercase, digits, hyphens). Used as the upsert key. Granted to the caller workspace when new. */
1238
+ slug: string;
1239
+ /** @description Singular display name. */
1621
1240
  name?: string;
1622
- /** @description Tool description shown to the model. */
1241
+ /** @description Plural display name. */
1242
+ namePlural?: string;
1243
+ /** @description Description. */
1623
1244
  description?: string;
1624
- /** @description Pre-filled tool config (fields left empty are filled by the model). */
1625
- input?: {
1245
+ /**
1246
+ * @description Icon identifier.
1247
+ * @default box
1248
+ */
1249
+ icon: string;
1250
+ /**
1251
+ * @description Hex colour.
1252
+ * @default #3B82F6
1253
+ */
1254
+ color: string;
1255
+ /** @description Field definitions grouped into sections. */
1256
+ attributeSchema: {
1626
1257
  [key: string]: unknown;
1627
1258
  };
1259
+ /** @description Optional state machine definition. */
1260
+ stateSchema?: {
1261
+ [key: string]: unknown;
1262
+ } | null;
1263
+ /** @description Whether the type is enabled. */
1264
+ isEnabled?: boolean;
1265
+ /**
1266
+ * @description When false (default), reject unknown attribute keys on entity writes.
1267
+ * @default false
1268
+ */
1269
+ allowUnknownAttributes: boolean;
1270
+ /**
1271
+ * @description Marks the type as code-managed. Defaults to true on upsert.
1272
+ * @default true
1273
+ */
1274
+ managedByCode: boolean;
1628
1275
  };
1629
- UpsertAgentBySlugDto: {
1276
+ ObjectTypeUserSummaryDto: {
1277
+ /** @description User ID. */
1278
+ id: string;
1279
+ /** @description Email address of the user. */
1280
+ email: string;
1281
+ /** @description Display name of the user. */
1282
+ name: string;
1283
+ };
1284
+ ObjectTypeCreatedByDto: {
1285
+ /** @description Workspace user ID. */
1286
+ id: string;
1287
+ user: components["schemas"]["ObjectTypeUserSummaryDto"];
1288
+ };
1289
+ ObjectTypeCountDto: {
1290
+ /** @description Number of non-deleted entities of this type. */
1291
+ objects: number;
1292
+ };
1293
+ ObjectTypeResponseDto: {
1294
+ /** @description Entity type ID. */
1295
+ id: string;
1296
+ /** @description Singular display name of the entity type. */
1297
+ name: string;
1298
+ /** @description Plural display name of the entity type. */
1299
+ namePlural: string;
1300
+ /** @description URL-safe slug, unique across the deployment. */
1301
+ slug: string;
1302
+ /** @description Icon identifier for the entity type. */
1303
+ icon: string;
1304
+ /** @description Hex colour of the entity type. */
1305
+ color: string;
1306
+ /** @description Whether the entity type is enabled. */
1307
+ isEnabled: boolean;
1308
+ /** @description When false, entity create/update rejects attribute keys not declared on the type. Reserved key `extensions` is always allowed. */
1309
+ allowUnknownAttributes: boolean;
1310
+ /** @description True when last written by code (CLI / SDK upsert). */
1311
+ managedByCode: boolean;
1312
+ /** @description Incremented when attributeSchema, stateSchema, or allowUnknownAttributes changes. */
1313
+ schemaRevision: number;
1314
+ /** @description Field that identifies a record besides the Lunnoa id. `name`, or `attribute:<field name>`. */
1315
+ uniqueKeyField?: string | null;
1316
+ /** @description Description of the entity type. Included when `expansion=description` is requested. */
1317
+ description?: string | null;
1318
+ /** @description Field definitions grouped into sections. Included when `expansion=attributeSchema` is requested. */
1319
+ attributeSchema?: {
1320
+ [key: string]: unknown;
1321
+ };
1322
+ /** @description State machine definition. Included when `expansion=stateSchema` is requested. */
1323
+ stateSchema?: {
1324
+ [key: string]: unknown;
1325
+ } | null;
1630
1326
  /**
1631
- * @description Stable project-scoped slug (lowercase, digits, hyphens). Used as the upsert key.
1632
- * @example support-triage
1327
+ * Format: date-time
1328
+ * @description Included when `expansion=createdAt` is requested.
1329
+ */
1330
+ createdAt?: string;
1331
+ /**
1332
+ * Format: date-time
1333
+ * @description Included when `expansion=updatedAt` is requested.
1633
1334
  */
1335
+ updatedAt?: string;
1336
+ /** @description Workspace member who created the entity type. Included when `expansion=createdBy` is requested. */
1337
+ createdBy?: components["schemas"]["ObjectTypeCreatedByDto"];
1338
+ /** @description Included when `expansion=countObjects` is requested. */
1339
+ _count?: components["schemas"]["ObjectTypeCountDto"];
1340
+ };
1341
+ CreateObjectDto: {
1342
+ /** @description Display name of the entity. */
1343
+ name: string;
1344
+ /**
1345
+ * Format: uuid
1346
+ * @description Platform admin only. Workspace the record is created in. Builders always use their active workspace.
1347
+ */
1348
+ workspaceId?: string;
1349
+ /**
1350
+ * Format: uuid
1351
+ * @description ID of the entity type to create the entity under.
1352
+ */
1353
+ objectTypeId: string;
1354
+ /** @description Initial state ID. Must exist in the entity type state schema. Defaults to the schema initial state when omitted. */
1355
+ state?: string;
1356
+ /** @description Attribute values keyed by field ID. Unknown keys are rejected unless the entity type has allowUnknownAttributes=true. Reserved key `extensions` (JSON object) is always allowed. */
1357
+ attributes?: {
1358
+ [key: string]: unknown;
1359
+ };
1360
+ };
1361
+ ObjectTypeSummaryDto: {
1362
+ /** @description Entity type ID. */
1363
+ id: string;
1364
+ /** @description Singular display name of the entity type. */
1365
+ name: string;
1366
+ /** @description URL-safe slug of the entity type. */
1634
1367
  slug: string;
1635
- /** @description Display name. Defaults to the slug when omitted. */
1368
+ /** @description Icon identifier for the entity type. */
1369
+ icon: string;
1370
+ /** @description Hex colour of the entity type. */
1371
+ color: string;
1372
+ /** @description Plural display name. Included when `expansion=objectType` is requested. */
1373
+ namePlural?: string;
1374
+ /** @description Field definitions grouped into sections. Included when `expansion=objectType` is requested on single-entity reads. */
1375
+ attributeSchema?: {
1376
+ [key: string]: unknown;
1377
+ };
1378
+ /** @description State machine definition. Included when `expansion=objectType` is requested. */
1379
+ stateSchema?: {
1380
+ [key: string]: unknown;
1381
+ } | null;
1382
+ };
1383
+ ObjectUserSummaryDto: {
1384
+ /** @description User ID. */
1385
+ id: string;
1386
+ /** @description Email address of the user. */
1387
+ email: string;
1388
+ /** @description Display name of the user. */
1389
+ name: string;
1390
+ };
1391
+ ObjectWorkspaceUserSummaryDto: {
1392
+ /** @description Workspace user ID. */
1393
+ id: string;
1394
+ user: components["schemas"]["ObjectUserSummaryDto"];
1395
+ };
1396
+ ObjectStateHistoryUserSummaryDto: {
1397
+ /** @description User ID. */
1398
+ id: string;
1399
+ /** @description Display name of the user. */
1400
+ name: string;
1401
+ };
1402
+ ObjectStateHistoryChangedByDto: {
1403
+ /** @description Workspace user ID. */
1404
+ id: string;
1405
+ user: components["schemas"]["ObjectStateHistoryUserSummaryDto"];
1406
+ };
1407
+ ObjectStateHistoryItemDto: {
1408
+ /** @description State history entry ID. */
1409
+ id: string;
1410
+ /** @description State the entity moved from. Null for the initial state. */
1411
+ fromState: string | null;
1412
+ /** @description State the entity moved to. */
1413
+ toState: string;
1414
+ /** @description Reason recorded for the state change, if any. */
1415
+ reason: string | null;
1416
+ /**
1417
+ * Format: date-time
1418
+ * @description When the state change occurred.
1419
+ */
1420
+ createdAt: string;
1421
+ /** @description Workspace member who made the change, if recorded. */
1422
+ changedBy: components["schemas"]["ObjectStateHistoryChangedByDto"] | null;
1423
+ };
1424
+ ObjectResponseDto: {
1425
+ /** @description Entity ID. */
1426
+ id: string;
1427
+ /** @description Display name of the entity. */
1428
+ name: string;
1429
+ /** @description Current state of the entity, if the type defines states. */
1430
+ state: string | null;
1431
+ /** @description Dynamic attribute values keyed by field ID. */
1432
+ attributes: {
1433
+ [key: string]: unknown;
1434
+ };
1435
+ /**
1436
+ * Format: date-time
1437
+ * @description Included when `expansion=createdAt` is requested.
1438
+ */
1439
+ createdAt?: string;
1440
+ /**
1441
+ * Format: date-time
1442
+ * @description Included by default on list responses, otherwise when `expansion=updatedAt` is requested.
1443
+ */
1444
+ updatedAt?: string;
1445
+ /** @description Included by default on list responses with a minimal shape, otherwise when `expansion=objectType` is requested. */
1446
+ objectType?: components["schemas"]["ObjectTypeSummaryDto"];
1447
+ /** @description Included when `expansion=createdBy` is requested. */
1448
+ createdBy?: components["schemas"]["ObjectWorkspaceUserSummaryDto"] | null;
1449
+ /** @description Most recent state changes (up to 50, newest first). Included when `expansion=stateHistory` is requested. */
1450
+ stateHistory?: components["schemas"]["ObjectStateHistoryItemDto"][];
1451
+ };
1452
+ ObjectPaginationDto: {
1453
+ /** @description Current page number (1-based). */
1454
+ page: number;
1455
+ /** @description Number of items per page (maximum 100). */
1456
+ pageSize: number;
1457
+ /** @description Total number of matching entities. */
1458
+ totalCount: number;
1459
+ /** @description Total number of pages. */
1460
+ totalPages: number;
1461
+ };
1462
+ PaginatedObjectsResponseDto: {
1463
+ data: components["schemas"]["ObjectResponseDto"][];
1464
+ pagination: components["schemas"]["ObjectPaginationDto"];
1465
+ };
1466
+ UpdateObjectDto: {
1467
+ /** @description New display name of the entity. */
1636
1468
  name?: string;
1637
- description?: string;
1638
- /** @description System instructions / prompt for the agent. */
1639
- instructions: string;
1640
- /** @description Selected model id on the AI provider connection (e.g. `gpt-4o`). */
1641
- model: string;
1642
- /** @description AiProviderConnection UUID. When omitted, platform AI defaults apply. */
1643
- aiConnectionId?: string;
1644
- /** @description App Connection UUIDs the agent may use for tools. */
1645
- connectionIds?: string[];
1646
- /** @description Workflow UUIDs the agent may run (AgentWorkflow links). */
1647
- workflowIds?: string[];
1648
- /** @description Catalogue action tools (WorkflowNodeForRunner-shaped). */
1649
- tools?: components["schemas"]["UpsertAgentToolDto"][];
1650
- /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
1651
- managedByCode?: boolean;
1469
+ /** @description Attribute values keyed by field ID. Merged into existing attributes. Unknown keys are rejected unless the entity type has allowUnknownAttributes=true. Reserved key `extensions` is always allowed. */
1470
+ attributes?: {
1471
+ [key: string]: unknown;
1472
+ };
1473
+ };
1474
+ ChangeObjectStateDto: {
1475
+ /** @description ID of the target state. Must be a valid transition from the current state when the entity type defines transitions. */
1476
+ newState: string;
1477
+ /** @description Reason for the state change. Required when the transition is configured with requiresReason. */
1478
+ reason?: string;
1479
+ };
1480
+ ChangeObjectStateResponseDto: {
1481
+ /** @description Entity ID. */
1482
+ id: string;
1483
+ /** @description Display name of the entity. */
1484
+ name: string;
1485
+ /** @description State of the entity after the change. */
1486
+ state: string | null;
1487
+ /**
1488
+ * Format: date-time
1489
+ * @description When the entity was last updated.
1490
+ */
1491
+ updatedAt: string;
1492
+ };
1493
+ StateHistoryUserSummaryDto: {
1494
+ /** @description User ID. */
1495
+ id: string;
1496
+ /** @description Display name of the user. */
1497
+ name: string;
1498
+ /** @description Email address of the user. */
1499
+ email: string;
1500
+ };
1501
+ StateHistoryChangedByDto: {
1502
+ /** @description Workspace user ID. */
1503
+ id: string;
1504
+ user: components["schemas"]["StateHistoryUserSummaryDto"];
1505
+ };
1506
+ ObjectStateHistoryEntryResponseDto: {
1507
+ /** @description State history entry ID. */
1508
+ id: string;
1509
+ /** @description State the entity moved from. Null for the initial state. */
1510
+ fromState: string | null;
1511
+ /** @description State the entity moved to. */
1512
+ toState: string;
1513
+ /** @description Reason recorded for the state change, if any. */
1514
+ reason: string | null;
1515
+ /**
1516
+ * Format: date-time
1517
+ * @description When the state change occurred.
1518
+ */
1519
+ createdAt: string;
1520
+ /** @description Workspace member who made the change, if recorded. */
1521
+ changedBy: components["schemas"]["StateHistoryChangedByDto"] | null;
1522
+ };
1523
+ ObjectStateInfoDto: {
1524
+ /** @description State ID. */
1525
+ id: string;
1526
+ /** @description Display name of the state. */
1527
+ name: string;
1528
+ /** @description Colour associated with the state. */
1529
+ color?: string;
1530
+ /** @description Icon associated with the state. */
1531
+ icon?: string;
1532
+ /** @description Whether the state is a final state. */
1533
+ isFinal: boolean;
1534
+ };
1535
+ ObjectStateTransitionDto: {
1536
+ /** @description Transition ID from the state schema. */
1537
+ transitionId: string;
1538
+ /** @description ID of the target state. */
1539
+ toStateId: string;
1540
+ /** @description Display name of the target state. */
1541
+ toStateName: string;
1542
+ /** @description Colour of the target state. */
1543
+ toStateColor?: string;
1544
+ /** @description Icon of the target state. */
1545
+ toStateIcon?: string;
1546
+ /** @description Whether a reason must be supplied for this transition. */
1547
+ requiresReason: boolean;
1548
+ /** @description Confirmation message to show before applying the transition. */
1549
+ confirmationMessage?: string;
1550
+ };
1551
+ ObjectStateTransitionsResponseDto: {
1552
+ /** @description Current state of the entity. Null when the entity has no state or the type defines no state schema. */
1553
+ currentState: components["schemas"]["ObjectStateInfoDto"] | null;
1554
+ /** @description Transitions allowed from the current state. */
1555
+ validTransitions: components["schemas"]["ObjectStateTransitionDto"][];
1556
+ /** @description All states defined by the entity type, for cases where no transitions are defined. */
1557
+ allStates: components["schemas"]["ObjectStateInfoDto"][];
1558
+ };
1559
+ ImportRowErrorDto: {
1560
+ /** @description Row number the error relates to (1-based). */
1561
+ row: number;
1562
+ /** @description Field ID the error relates to, when applicable. */
1563
+ field?: string;
1564
+ /** @description Human-readable error message. */
1565
+ message: string;
1566
+ };
1567
+ ImportEntitiesResponseDto: {
1568
+ /** @description Total number of rows processed. */
1569
+ totalRows: number;
1570
+ /** @description Number of rows imported successfully. */
1571
+ successCount: number;
1572
+ /** @description Number of rows that failed to import. */
1573
+ errorCount: number;
1574
+ /** @description Per-row errors encountered during the import. */
1575
+ errors: components["schemas"]["ImportRowErrorDto"][];
1576
+ /** @description IDs of entities created by the import. */
1577
+ createdIds: string[];
1578
+ /** @description IDs of existing entities updated by the import. */
1579
+ updatedIds: string[];
1580
+ };
1581
+ ImportTemplateResponseDto: {
1582
+ /** @description Column headers for the import file. Always starts with "name". */
1583
+ columns: string[];
1584
+ /** @description Sample row with an example value for each column. */
1585
+ sampleRow: {
1586
+ [key: string]: string;
1587
+ };
1652
1588
  };
1653
1589
  CreateKnowledgeDto: {
1654
1590
  /** @description Name of the knowledge base. */
@@ -1798,124 +1734,6 @@ interface components {
1798
1734
  /** @description Vector references (parts) in the group, ordered by part number. */
1799
1735
  vectorRefs: components["schemas"]["KnowledgeDocumentGroupVectorRefDto"][];
1800
1736
  };
1801
- CreateVariableDto: {
1802
- /** @description Name of the variable. */
1803
- name: string;
1804
- /** @description Description of the variable. */
1805
- description?: string;
1806
- /**
1807
- * @description Scope of the variable (system, workspace or project).
1808
- * @enum {string}
1809
- */
1810
- type: "system" | "workspace" | "project";
1811
- /**
1812
- * @description Data type of the variable value.
1813
- * @enum {string}
1814
- */
1815
- dataType: "string" | "number" | "boolean" | "date" | "json";
1816
- /** @description Project ID to scope the variable to. Must belong to the current workspace. */
1817
- projectId?: string;
1818
- /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
1819
- value: string;
1820
- };
1821
- VariableWorkspaceDto: {
1822
- /** @description Workspace ID. */
1823
- id: string;
1824
- /** @description Workspace name. */
1825
- name: string;
1826
- };
1827
- VariableProjectDto: {
1828
- /** @description Project ID. */
1829
- id: string;
1830
- /** @description Project name. */
1831
- name: string;
1832
- };
1833
- VariableResponseDto: {
1834
- /** @description Variable ID. */
1835
- id: string;
1836
- /** @description Variable name. */
1837
- name: string;
1838
- /**
1839
- * @description Data type of the variable value.
1840
- * @enum {string}
1841
- */
1842
- dataType: "string" | "number" | "boolean" | "date" | "json";
1843
- /**
1844
- * @description Scope of the variable (system, workspace or project).
1845
- * @enum {string}
1846
- */
1847
- type: "system" | "workspace" | "project";
1848
- /** @description Variable value. Included when `expansion=value` is requested. */
1849
- value?: Record<string, never>;
1850
- /** @description Variable description. Included when `expansion=description` is requested. */
1851
- description?: string;
1852
- /**
1853
- * Format: date-time
1854
- * @description Creation timestamp. Included when `expansion=createdAt` is requested.
1855
- */
1856
- createdAt?: string;
1857
- /**
1858
- * Format: date-time
1859
- * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
1860
- */
1861
- updatedAt?: string;
1862
- /** @description Owning workspace. Included when `expansion=workspace` is requested. */
1863
- workspace?: components["schemas"]["VariableWorkspaceDto"];
1864
- /** @description Owning project for project-scoped variables. Included when `expansion=project` is requested. */
1865
- project?: components["schemas"]["VariableProjectDto"];
1866
- };
1867
- UpdateVariableDto: {
1868
- /** @description Name of the variable. */
1869
- name?: string;
1870
- /** @description Description of the variable. */
1871
- description?: string;
1872
- /**
1873
- * @description Scope of the variable (system, workspace or project).
1874
- * @enum {string}
1875
- */
1876
- type?: "system" | "workspace" | "project";
1877
- /**
1878
- * @description Data type of the variable value.
1879
- * @enum {string}
1880
- */
1881
- dataType?: "string" | "number" | "boolean" | "date" | "json";
1882
- /** @description Project ID to scope the variable to. Must belong to the current workspace. */
1883
- projectId?: string;
1884
- /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
1885
- value?: string;
1886
- };
1887
- ConnectionWorkspaceDto: {
1888
- /** @description Workspace ID. */
1889
- id: string;
1890
- /** @description Workspace name. */
1891
- name: string;
1892
- };
1893
- ConnectionResponseDto: {
1894
- /** @description Connection ID. */
1895
- id: string;
1896
- /** @description Connection name. */
1897
- name: string;
1898
- /**
1899
- * Format: date-time
1900
- * @description Creation timestamp. Included when `expansion=createdAt` is requested.
1901
- */
1902
- createdAt?: string;
1903
- /**
1904
- * Format: date-time
1905
- * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
1906
- */
1907
- updatedAt?: string;
1908
- /** @description App connection type ID (e.g. the OAuth2 or API key connection definition of the app). Included when `expansion=connectionId` is requested. */
1909
- connectionId?: string;
1910
- /** @description ID of the workflow app this connection belongs to. Included when `expansion=workflowAppId` or `expansion=workflowApp` is requested. */
1911
- workflowAppId?: string;
1912
- /** @description Full workflow app definition for this connection. Included when `expansion=workflowApp` is requested on the list endpoint. */
1913
- workflowApp?: {
1914
- [key: string]: unknown;
1915
- };
1916
- /** @description Owning workspace. Included when `expansion=workspace` is requested. */
1917
- workspace?: components["schemas"]["ConnectionWorkspaceDto"];
1918
- };
1919
1737
  ManuallyRunWorkflowInputDataDto: {
1920
1738
  /**
1921
1739
  * @description Values for the custom input fields configured on the workflow "Manually Run" trigger, keyed by field ID. Pass an empty object when the trigger defines no custom input fields.
@@ -1938,21 +1756,13 @@ interface components {
1938
1756
  /** @description Workspace name */
1939
1757
  name: string;
1940
1758
  };
1941
- ExecutionProjectSummaryDto: {
1942
- /** @description Project ID */
1943
- id: string;
1944
- /** @description Project name */
1945
- name: string;
1946
- /** @description The workspace the project belongs to. Included when `expansion=workspace` is requested alongside `workflow` and `project`. */
1947
- workspace?: components["schemas"]["ExecutionWorkspaceSummaryDto"];
1948
- };
1949
1759
  ExecutionWorkflowSummaryDto: {
1950
1760
  /** @description Workflow ID */
1951
1761
  id: string;
1952
1762
  /** @description Workflow name */
1953
1763
  name: string;
1954
- /** @description The project the workflow belongs to. Included when `expansion=project` is requested alongside `workflow`. */
1955
- project?: components["schemas"]["ExecutionProjectSummaryDto"];
1764
+ /** @description The workspace the workflow belongs to. Included when `expansion=workspace` is requested alongside `workflow`. */
1765
+ workspace?: components["schemas"]["ExecutionWorkspaceSummaryDto"];
1956
1766
  };
1957
1767
  ExecutionPathStepDto: {
1958
1768
  /** @description ID of the workflow node this step represents */
@@ -2100,8 +1910,6 @@ interface components {
2100
1910
  actionId: string;
2101
1911
  /** @description Connection instance UUID (`Connection.id`). Required when the action needs a connection and the workspace has more than one connection for the app with no single workspace default. When omitted: sole usable connection for the app is used; else the workspace default (`isDefault`); else 400 with candidates. Never silently picks among multiple non-default connections. */
2102
1912
  connectionId?: string;
2103
- /** @description Project UUID used for variable/project scoping. When omitted and the workspace has exactly one project, that project is used; otherwise the request fails with 400. */
2104
- projectId?: string;
2105
1913
  /** @description Action input fields (mirrors the action `inputConfig` keys). Combined with `connectionId` into the action configValue. */
2106
1914
  input?: {
2107
1915
  [key: string]: unknown;
@@ -2143,11 +1951,161 @@ interface components {
2143
1951
  StartRunDto: {
2144
1952
  /** @description Linear catalogue-action steps. Executed as one multi-step Execution with `source: SDK` (not a soft batch / correlation id). */
2145
1953
  steps: components["schemas"]["RunStepDto"][];
2146
- /** @description Project UUID for variable/project scoping. When omitted and the workspace has exactly one project, that project is used. */
2147
- projectId?: string;
2148
1954
  /** @description Optional display name for the ad-hoc Execution. */
2149
1955
  name?: string;
2150
1956
  };
1957
+ CreateVariableDto: {
1958
+ /** @description Name of the variable. */
1959
+ name: string;
1960
+ /** @description Description of the variable. */
1961
+ description?: string;
1962
+ /**
1963
+ * @description Scope of the variable (system or workspace).
1964
+ * @enum {string}
1965
+ */
1966
+ type: "system" | "workspace";
1967
+ /**
1968
+ * @description Data type of the variable value.
1969
+ * @enum {string}
1970
+ */
1971
+ dataType: "string" | "number" | "boolean" | "date" | "json";
1972
+ /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
1973
+ value: string;
1974
+ };
1975
+ VariableWorkspaceDto: {
1976
+ /** @description Workspace ID. */
1977
+ id: string;
1978
+ /** @description Workspace name. */
1979
+ name: string;
1980
+ };
1981
+ VariableResponseDto: {
1982
+ /** @description Variable ID. */
1983
+ id: string;
1984
+ /** @description Variable name. */
1985
+ name: string;
1986
+ /**
1987
+ * @description Data type of the variable value.
1988
+ * @enum {string}
1989
+ */
1990
+ dataType: "string" | "number" | "boolean" | "date" | "json";
1991
+ /**
1992
+ * @description Scope of the variable (system or workspace).
1993
+ * @enum {string}
1994
+ */
1995
+ type: "system" | "workspace";
1996
+ /** @description Variable value. Included when `expansion=value` is requested. */
1997
+ value?: Record<string, never>;
1998
+ /** @description Variable description. Included when `expansion=description` is requested. */
1999
+ description?: string;
2000
+ /**
2001
+ * Format: date-time
2002
+ * @description Creation timestamp. Included when `expansion=createdAt` is requested.
2003
+ */
2004
+ createdAt?: string;
2005
+ /**
2006
+ * Format: date-time
2007
+ * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
2008
+ */
2009
+ updatedAt?: string;
2010
+ /** @description Owning workspace. Included when `expansion=workspace` is requested. */
2011
+ workspace?: components["schemas"]["VariableWorkspaceDto"];
2012
+ };
2013
+ UpdateVariableDto: {
2014
+ /** @description Name of the variable. */
2015
+ name?: string;
2016
+ /** @description Description of the variable. */
2017
+ description?: string;
2018
+ /**
2019
+ * @description Scope of the variable (system or workspace).
2020
+ * @enum {string}
2021
+ */
2022
+ type?: "system" | "workspace";
2023
+ /**
2024
+ * @description Data type of the variable value.
2025
+ * @enum {string}
2026
+ */
2027
+ dataType?: "string" | "number" | "boolean" | "date" | "json";
2028
+ /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
2029
+ value?: string;
2030
+ };
2031
+ UpsertTableBySlugDto: {
2032
+ /** @description Display name of the table. */
2033
+ name?: string;
2034
+ /** @description What the table contains. Agents use this to choose a table. */
2035
+ description?: string;
2036
+ /** @description Column names: [{ key }]. */
2037
+ columns?: {
2038
+ [key: string]: unknown;
2039
+ }[];
2040
+ /** @description Rows as objects keyed by column name. */
2041
+ rows?: {
2042
+ [key: string]: unknown;
2043
+ }[];
2044
+ /** @description Stable workspace-unique key. Used as the upsert key. */
2045
+ slug: string;
2046
+ /** @description Marks the table as code-managed. Defaults to true on upsert. */
2047
+ managedByCode?: boolean;
2048
+ };
2049
+ TableColumnDto: {
2050
+ /** @description Column key used in rows. */
2051
+ key: string;
2052
+ /** @description Display label. */
2053
+ label: string;
2054
+ };
2055
+ TableResponseDto: {
2056
+ /** @description Table ID. */
2057
+ id: string;
2058
+ /** @description Display name. */
2059
+ name: string;
2060
+ /** @description Stable key, unique within the workspace. */
2061
+ slug: string;
2062
+ /** @description What the table contains. */
2063
+ description?: string | null;
2064
+ /** @description Whether the table is managed by code (CLI / API upsert). */
2065
+ managedByCode: boolean;
2066
+ /** @description Columns. Returned by get and upsert, not by list. */
2067
+ columns?: components["schemas"]["TableColumnDto"][];
2068
+ /** @description Rows keyed by column key. Returned by get and upsert, not by list. */
2069
+ rows?: {
2070
+ [key: string]: unknown;
2071
+ }[];
2072
+ /** Format: date-time */
2073
+ createdAt: string;
2074
+ /** Format: date-time */
2075
+ updatedAt: string;
2076
+ };
2077
+ ConnectionWorkspaceDto: {
2078
+ /** @description Workspace ID. */
2079
+ id: string;
2080
+ /** @description Workspace name. */
2081
+ name: string;
2082
+ };
2083
+ ConnectionResponseDto: {
2084
+ /** @description Connection ID. */
2085
+ id: string;
2086
+ /** @description Connection name. */
2087
+ name: string;
2088
+ /**
2089
+ * Format: date-time
2090
+ * @description Creation timestamp. Included when `expansion=createdAt` is requested.
2091
+ */
2092
+ createdAt?: string;
2093
+ /**
2094
+ * Format: date-time
2095
+ * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
2096
+ */
2097
+ updatedAt?: string;
2098
+ /** @description App connection type ID (e.g. the OAuth2 or API key connection definition of the app). Included when `expansion=connectionId` is requested. */
2099
+ connectionId?: string;
2100
+ /** @description ID of the workflow app this connection belongs to. Included when `expansion=workflowAppId` or `expansion=workflowApp` is requested. */
2101
+ workflowAppId?: string;
2102
+ /** @description Full workflow app definition for this connection. Included when `expansion=workflowApp` is requested on the list endpoint. */
2103
+ workflowApp?: {
2104
+ [key: string]: unknown;
2105
+ };
2106
+ /** @description Owning workspace. Included when `expansion=workspace` is requested. */
2107
+ workspace?: components["schemas"]["ConnectionWorkspaceDto"];
2108
+ };
2151
2109
  TaskListItemResponseDto: {
2152
2110
  /**
2153
2111
  * @description Task ID (UUID)
@@ -2190,14 +2148,10 @@ interface components {
2190
2148
  [key: string]: unknown;
2191
2149
  } | null;
2192
2150
  }[];
2193
- /** @description Agent the task belongs to. Included when `expansion=agent` is requested. The nested `project` is included when `expansion=project` is also requested. */
2151
+ /** @description Agent the task belongs to. Included when `expansion=agent` is requested. */
2194
2152
  agent?: {
2195
2153
  id?: string;
2196
2154
  name?: string;
2197
- project?: {
2198
- id?: string;
2199
- name?: string;
2200
- };
2201
2155
  };
2202
2156
  };
2203
2157
  TaskLatestRunDto: {
@@ -2272,14 +2226,10 @@ interface components {
2272
2226
  [key: string]: unknown;
2273
2227
  } | null;
2274
2228
  }[];
2275
- /** @description Agent the task belongs to. Included when `expansion=agent` is requested. The nested `project` is included when `expansion=project` is also requested. */
2229
+ /** @description Agent the task belongs to. Included when `expansion=agent` is requested. */
2276
2230
  agent?: {
2277
2231
  id?: string;
2278
2232
  name?: string;
2279
- project?: {
2280
- id?: string;
2281
- name?: string;
2282
- };
2283
2233
  };
2284
2234
  };
2285
2235
  UpdateTaskDto: {
@@ -2367,12 +2317,9 @@ interface components {
2367
2317
  * "imageUrl": "https://example.com/image.png"
2368
2318
  * }
2369
2319
  */
2370
- data?: {
2371
- /** @description URL of an image attached to the message. */
2372
- imageUrl?: string;
2373
- };
2320
+ data?: Record<string, never>;
2374
2321
  /**
2375
- * @description Answer to an ask-before-sending personal-data prompt. Applies to this message only.
2322
+ * @description Answer to an "ask before sending" personal-data prompt. Applies to this message only.
2376
2323
  * @enum {string}
2377
2324
  */
2378
2325
  piiResolution?: "anonymize" | "fallback";
@@ -2401,8 +2348,6 @@ interface components {
2401
2348
 
2402
2349
  type Schemas = components['schemas'];
2403
2350
  type EnabledFeatures = Schemas['EnabledFeaturesResponseDto'];
2404
- type Project = Schemas['ProjectResponseDto'];
2405
- type CreateProjectInput = Schemas['CreateProjectDto'];
2406
2351
  type Agent = Schemas['AgentResponseDto'];
2407
2352
  type Task = Schemas['TaskResponseDto'];
2408
2353
  type TaskListItem = Schemas['TaskListItemResponseDto'];
@@ -2427,6 +2372,8 @@ type EntityStateTransitions = Schemas['ObjectStateTransitionsResponseDto'];
2427
2372
  type ImportEntitiesResult = Schemas['ImportEntitiesResponseDto'];
2428
2373
  type ImportTemplate = Schemas['ImportTemplateResponseDto'];
2429
2374
  type EntityType = Schemas['ObjectTypeResponseDto'];
2375
+ type Table = Schemas['TableResponseDto'];
2376
+ type UpsertTableBySlugInput = Schemas['UpsertTableBySlugDto'];
2430
2377
  type Knowledge = Schemas['KnowledgeResponseDto'];
2431
2378
  type CreateKnowledgeInput = Schemas['CreateKnowledgeDto'];
2432
2379
  type UpdateKnowledgeInput = Schemas['UpdateKnowledgeDto'];
@@ -2631,11 +2578,6 @@ interface RunActionOptions {
2631
2578
  * and exactly one connection exists, the platform uses that connection.
2632
2579
  */
2633
2580
  connectionId?: string;
2634
- /**
2635
- * Project UUID for variable/project scoping. Required when the workspace has
2636
- * more than one project.
2637
- */
2638
- projectId?: string;
2639
2581
  /** Action input fields (keys from the action `inputConfig`). */
2640
2582
  input?: Record<string, unknown>;
2641
2583
  /** Optional display name for the ad-hoc Execution. */
@@ -2723,7 +2665,7 @@ interface WorkflowStepDefinition {
2723
2665
  }
2724
2666
  interface WorkflowDefinition {
2725
2667
  kind: typeof DEFINE_KINDS.workflow;
2726
- /** Stable project-scoped slug (upsert key). */
2668
+ /** Stable slug, unique in the workspace (upsert key). */
2727
2669
  slug: string;
2728
2670
  name?: string;
2729
2671
  description?: string;
@@ -2736,7 +2678,7 @@ type AgentToolDefinition = ActionDefinition | WorkflowDefinition | {
2736
2678
  };
2737
2679
  interface AgentDefinition {
2738
2680
  kind: typeof DEFINE_KINDS.agent;
2739
- /** Stable project-scoped slug (upsert key). */
2681
+ /** Stable slug, unique in the workspace (upsert key). */
2740
2682
  slug: string;
2741
2683
  name?: string;
2742
2684
  description?: string;
@@ -2797,10 +2739,10 @@ declare class AgentsResource {
2797
2739
  /** Returns a single agent. */
2798
2740
  get(agentId: string, options?: Pick<ListQueryOptions, 'expansion'>): Promise<Agent>;
2799
2741
  /**
2800
- * Upsert an agent by project-scoped slug.
2742
+ * Upsert an agent by slug inside the workspace on the API key.
2801
2743
  * Prefer the CLI (`npx @lunnoa/client agents deploy`) for happy-path deploy.
2802
2744
  */
2803
- upsertBySlug(projectId: string, body: UpsertAgentBySlugInput | AgentDefinition, options?: {
2745
+ upsertBySlug(body: UpsertAgentBySlugInput | AgentDefinition, options?: {
2804
2746
  workflowIds?: string[];
2805
2747
  }): Promise<Agent>;
2806
2748
  }
@@ -3096,6 +3038,22 @@ declare class EntityTypesResource {
3096
3038
  upsertBySlug(definition: EntityTypeDefinition | UpsertEntityTypeBySlugInput): Promise<EntityType>;
3097
3039
  }
3098
3040
 
3041
+ declare class TablesResource {
3042
+ private readonly http;
3043
+ constructor(http: HttpClient);
3044
+ /** Lists tables in the API key's workspace (without columns and rows). */
3045
+ list(): Promise<Table[]>;
3046
+ /** Returns a single table by ID, including columns and rows. */
3047
+ get(id: string): Promise<Table>;
3048
+ /** Returns a single table by its workspace slug, including columns and rows. */
3049
+ getBySlug(slug: string): Promise<Table>;
3050
+ /**
3051
+ * Creates or updates a table by workspace slug. Omitted columns or rows
3052
+ * keep their current value. Marks `managedByCode` by default.
3053
+ */
3054
+ upsertBySlug(input: UpsertTableBySlugInput): Promise<Table>;
3055
+ }
3056
+
3099
3057
  type EligibleApprover = {
3100
3058
  workspaceUserId: string;
3101
3059
  email: string;
@@ -3185,17 +3143,6 @@ declare class KnowledgeResource {
3185
3143
  deleteDocumentGroup(knowledgeId: string, groupId: string): Promise<boolean>;
3186
3144
  }
3187
3145
 
3188
- declare class ProjectsResource {
3189
- private readonly http;
3190
- constructor(http: HttpClient);
3191
- /** Lists projects in the workspace, most recently updated first. */
3192
- list(options?: ListQueryOptions): Promise<Project[]>;
3193
- /** Returns a single project. */
3194
- get(projectId: string, options?: Pick<ListQueryOptions, 'expansion'>): Promise<Project>;
3195
- /** Creates a project. */
3196
- create(data: CreateProjectInput): Promise<Project>;
3197
- }
3198
-
3199
3146
  type QueueItemStatus = 'PENDING' | 'PROCESSING' | 'SUCCESS' | 'FAILED' | 'RETRYING';
3200
3147
  interface AddQueueItemErrorInput {
3201
3148
  /** Error message recorded on the item. */
@@ -3309,7 +3256,6 @@ interface StartRunStep {
3309
3256
  }
3310
3257
  interface StartRunOptions {
3311
3258
  steps: StartRunStep[];
3312
- projectId?: string;
3313
3259
  name?: string;
3314
3260
  }
3315
3261
  type StartRunInput = StartRunOptions | WorkflowDefinition | WorkflowStepDefinition[] | StartRunStep[];
@@ -3324,7 +3270,7 @@ declare class RunsResource {
3324
3270
  * Start a linear multi-step ad-hoc Execution.
3325
3271
  *
3326
3272
  * Accepts a `defineWorkflow` result, a step array, or an explicit
3327
- * `{ steps, projectId?, name? }` payload.
3273
+ * `{ steps, name? }` payload.
3328
3274
  */
3329
3275
  start(input: StartRunInput): Promise<RunActionResult>;
3330
3276
  /** Convenience: start and wait until terminal / NEEDS_INPUT. */
@@ -3481,10 +3427,10 @@ declare class WorkflowsResource {
3481
3427
  */
3482
3428
  get(workflowId: string, options?: Pick<ListQueryOptions, 'expansion'>): Promise<Workflow>;
3483
3429
  /**
3484
- * Upsert a workflow by project-scoped slug from a linear step list.
3430
+ * Upsert a workflow by slug inside the workspace on the API key.
3485
3431
  * Prefer the CLI (`npx @lunnoa/client workflows deploy`) for happy-path deploy.
3486
3432
  */
3487
- upsertBySlug(projectId: string, body: UpsertWorkflowBySlugInput | WorkflowDefinition): Promise<Workflow>;
3433
+ upsertBySlug(body: UpsertWorkflowBySlugInput | WorkflowDefinition): Promise<Workflow>;
3488
3434
  /**
3489
3435
  * Starts a new execution of the workflow with the given trigger inputs.
3490
3436
  * Returns immediately with the execution ID.
@@ -3547,13 +3493,14 @@ declare class LunnoaClient {
3547
3493
  readonly approvals: ApprovalsResource;
3548
3494
  readonly entities: EntitiesResource;
3549
3495
  readonly entityTypes: EntityTypesResource;
3496
+ /** Small reference / lookup tables (rows stored inline; use entities for transactional data). */
3497
+ readonly tables: TablesResource;
3550
3498
  readonly knowledge: KnowledgeResource;
3551
3499
  readonly queues: QueuesResource;
3552
3500
  readonly queueItems: QueueItemsResource;
3553
3501
  readonly variables: VariablesResource;
3554
3502
  readonly scorecards: ScorecardsResource;
3555
3503
  readonly connections: ConnectionsResource;
3556
- readonly projects: ProjectsResource;
3557
3504
  readonly workflowApps: WorkflowAppsResource;
3558
3505
  readonly discovery: DiscoveryResource;
3559
3506
  constructor(options: LunnoaClientOptions);
@@ -3725,7 +3672,7 @@ interface UseAgentChatResult {
3725
3672
  /**
3726
3673
  * Thin AI SDK wrapper for Lunnoa agent chat.
3727
3674
  *
3728
- * Requires optional peer `@ai-sdk/react` (and the `ai` package already shipped
3675
+ * Uses `@ai-sdk/react` (and the `ai` package already shipped
3729
3676
  * with `@lunnoa/client`). Points `DefaultChatTransport` at the Automate
3730
3677
  * stream-message endpoint with a Bearer token from the auth provider.
3731
3678
  *