@lunnoa/client 1.4.0 → 1.5.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.ts CHANGED
@@ -856,7 +856,9 @@ interface components {
856
856
  /** @description Error message to record against the queue item. */
857
857
  error: string;
858
858
  /** @description Additional structured error details, supplied as a JSON string. */
859
- errorDetails?: string;
859
+ errorDetails?: {
860
+ [key: string]: unknown;
861
+ };
860
862
  };
861
863
  BulkDeleteItemsDto: {
862
864
  /** @description IDs of the queue items to delete. */
@@ -905,6 +907,14 @@ interface components {
905
907
  isActive?: boolean;
906
908
  /** @description Whether the workflow is internal (hidden from default listings). Included when `expansion=isInternal` is requested. */
907
909
  isInternal?: boolean;
910
+ /** @description Object type whose records list this workflow's runs. Included when `expansion=objectLink` is requested. */
911
+ objectTypeId?: string | null;
912
+ /** @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. */
913
+ objectIdPath?: string | null;
914
+ /** @description Create a record when the unique key value is not found, then file the run on it. Included when `expansion=objectLink` is requested. */
915
+ createObjectIfMissing?: boolean;
916
+ /** @description Unique key on the linked object type (`name` or `attribute:<field>`). Included when `expansion=objectLink` is requested. */
917
+ uniqueKeyField?: string | null;
908
918
  /** @description Workflow node definitions (JSON). Included when `expansion=nodes` is requested. */
909
919
  nodes?: {
910
920
  [key: string]: unknown;
@@ -974,435 +984,59 @@ interface components {
974
984
  /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
975
985
  managedByCode?: boolean;
976
986
  };
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;
987
+ AgentResponseDto: {
1006
988
  /**
1007
- * @description When false (default), reject unknown attribute keys on entity writes.
1008
- * @default false
989
+ * @description Agent ID (UUID)
990
+ * @example 4f7c9d2e-8a1b-4c3d-9e5f-6a7b8c9d0e1f
1009
991
  */
1010
- allowUnknownAttributes: boolean;
992
+ id: string;
1011
993
  /**
1012
- * @description Marks the type as code-managed. Defaults to true on upsert.
1013
- * @default true
994
+ * @description Agent name
995
+ * @example Invoice Triage Agent
1014
996
  */
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
997
  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. */
998
+ /** @description Stable project-scoped slug for CLI / code deploy upserts. Included when `expansion=slug` is requested. */
999
+ slug?: string | null;
1000
+ /** @description True when last written by code (CLI / SDK). Included when `expansion=managedByCode` is requested. */
1001
+ managedByCode?: boolean;
1002
+ /** @description ID of the AI provider connection assigned to the agent. Always included. Null when the agent falls back to the workspace default connection. */
1003
+ FK_aiConnectionId: string | null;
1004
+ /** @description Agent description. Included when `expansion=description` is requested. */
1056
1005
  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;
1006
+ /** @description Public URL of the agent profile image. Included when `expansion=profileImageUrl` is requested. */
1007
+ profileImageUrl?: string | null;
1065
1008
  /**
1066
1009
  * Format: date-time
1067
- * @description Included when `expansion=createdAt` is requested.
1010
+ * @description Creation timestamp. Included when `expansion=createdAt` is requested.
1068
1011
  */
1069
1012
  createdAt?: string;
1070
1013
  /**
1071
1014
  * Format: date-time
1072
- * @description Included when `expansion=updatedAt` is requested.
1015
+ * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
1073
1016
  */
1074
1017
  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;
1018
+ /** @description System instructions authored for the agent. Included when `expansion=instructions` is requested. */
1019
+ instructions?: string | null;
1083
1020
  /**
1084
- * Format: uuid
1085
- * @description ID of the entity type to create the entity under.
1021
+ * @description Model temperature. Included when `expansion=temperature` is requested.
1022
+ * @example 1
1086
1023
  */
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;
1024
+ temperature?: number;
1025
+ /** @description Maximum output tokens per turn. Included when `expansion=maxOutputTokens` is requested. */
1026
+ maxOutputTokens?: number | null;
1150
1027
  /**
1151
- * Format: date-time
1152
- * @description When the state change occurred.
1028
+ * @description Top-p sampling. Included when `expansion=topP` is requested.
1029
+ * @example 1
1153
1030
  */
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
- };
1031
+ topP?: number;
1169
1032
  /**
1170
- * Format: date-time
1171
- * @description Included when `expansion=createdAt` is requested.
1033
+ * @description Frequency penalty. Included when `expansion=frequencyPenalty` is requested.
1034
+ * @example 0
1172
1035
  */
1173
- createdAt?: string;
1036
+ frequencyPenalty?: number;
1174
1037
  /**
1175
- * Format: date-time
1176
- * @description Included by default on list responses, otherwise when `expansion=updatedAt` is requested.
1177
- */
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;
1223
- /**
1224
- * Format: date-time
1225
- * @description When the entity was last updated.
1226
- */
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;
1251
- /**
1252
- * Format: date-time
1253
- * @description When the state change occurred.
1254
- */
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: {
1354
- /**
1355
- * @description Agent ID (UUID)
1356
- * @example 4f7c9d2e-8a1b-4c3d-9e5f-6a7b8c9d0e1f
1357
- */
1358
- id: string;
1359
- /**
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
1038
+ * @description Presence penalty. Included when `expansion=presencePenalty` is requested.
1039
+ * @example 0
1406
1040
  */
1407
1041
  presencePenalty?: number;
1408
1042
  /**
@@ -1650,48 +1284,429 @@ interface components {
1650
1284
  /** @description Marks the row as managed by code (CLI / SDK). Defaults to true on this endpoint. */
1651
1285
  managedByCode?: boolean;
1652
1286
  };
1653
- CreateKnowledgeDto: {
1654
- /** @description Name of the knowledge base. */
1655
- name: string;
1656
- /** @description Description of the knowledge base. */
1657
- description?: string;
1658
- /** @description Default chunk overlap in words. Must be provided together with chunkSize and cannot exceed 50% of it. */
1659
- chunkOverlap?: number;
1660
- /** @description Default chunk size in words (50 to 2000). Must be provided together with chunkOverlap. */
1661
- chunkSize?: number;
1662
- /** @description Embedding model to use. Defaults to the platform-configured embedding model. */
1663
- embeddingModel?: string;
1664
- /** @description Embedding provider to use. Defaults to the platform-configured embedding provider. */
1665
- embeddingProvider?: string;
1666
- /** @description Embedding vector dimensions. Defaults to the platform-configured dimensions. */
1667
- dimensions?: number;
1668
- };
1669
- KnowledgeCountDto: {
1670
- /** @description Number of vector references stored in this knowledge base. */
1671
- vectorRefs: number;
1672
- };
1673
- KnowledgeVectorRefSummaryDto: {
1674
- /** @description Vector reference ID. */
1675
- id: string;
1676
- /** @description ID of the knowledge base the vector reference belongs to. */
1677
- FK_knowledgeId: string;
1678
- };
1679
- KnowledgeUsageDto: {
1680
- /** @description Total prompt tokens consumed when embedding content into this knowledge base. */
1681
- promptTokens: number;
1682
- };
1683
- KnowledgeWorkspaceDto: {
1684
- /** @description Workspace ID. */
1287
+ WorkflowAppResponseDto: {
1288
+ /** @description App ID, e.g. `gmail`. Matches the appId used in workflow execution steps. */
1685
1289
  id: string;
1686
- /** @description Workspace name. */
1290
+ /** @description Human-readable app name. */
1687
1291
  name: string;
1292
+ /** @description App description. */
1293
+ description: string;
1294
+ /** @description URL of the app logo. */
1295
+ logoUrl: string;
1296
+ /** @description Whether the app is published and available for use. */
1297
+ isPublished: boolean;
1298
+ /** @description Whether the app requires a connection before its actions and triggers can run. */
1299
+ needsConnection: boolean;
1300
+ /** @description Whether the app can be used by agents. */
1301
+ availableForAgent: boolean;
1302
+ /** @description Action definitions, each with id, name, description, iconUrl, needsConnection, availableForAgent, viewOptions and the declarative inputConfig field metadata used to render action UIs. */
1303
+ actions: {
1304
+ [key: string]: unknown;
1305
+ }[];
1306
+ /** @description Trigger definitions, each with id, name, description, iconUrl, needsConnection and the declarative inputConfig field metadata used to render trigger UIs. */
1307
+ triggers: {
1308
+ [key: string]: unknown;
1309
+ }[];
1310
+ /** @description Connection type definitions supported by the app (e.g. oauth2, apiKey, basic), each with id, name, description, connectionType and any declarative inputConfig fields. */
1311
+ connections: {
1312
+ [key: string]: unknown;
1313
+ }[];
1688
1314
  };
1689
- KnowledgeResponseDto: {
1690
- /** @description Knowledge base ID. */
1691
- id: string;
1692
- /** @description Knowledge base name. */
1693
- name: string;
1694
- /** @description Knowledge base description. Included when `expansion=description` is requested. */
1315
+ UpsertObjectTypeBySlugDto: {
1316
+ /** @description Stable deployment-wide slug (lowercase, digits, hyphens). Used as the upsert key. Granted to the caller workspace when new. */
1317
+ slug: string;
1318
+ /** @description Singular display name. */
1319
+ name?: string;
1320
+ /** @description Plural display name. */
1321
+ namePlural?: string;
1322
+ /** @description Description. */
1323
+ description?: string;
1324
+ /**
1325
+ * @description Icon identifier.
1326
+ * @default box
1327
+ */
1328
+ icon: string;
1329
+ /**
1330
+ * @description Hex colour.
1331
+ * @default #3B82F6
1332
+ */
1333
+ color: string;
1334
+ /** @description Field definitions grouped into sections. */
1335
+ attributeSchema: {
1336
+ [key: string]: unknown;
1337
+ };
1338
+ /** @description Optional state machine definition. */
1339
+ stateSchema?: {
1340
+ [key: string]: unknown;
1341
+ } | null;
1342
+ /** @description Whether the type is enabled. */
1343
+ isEnabled?: boolean;
1344
+ /**
1345
+ * @description When false (default), reject unknown attribute keys on entity writes.
1346
+ * @default false
1347
+ */
1348
+ allowUnknownAttributes: boolean;
1349
+ /**
1350
+ * @description Marks the type as code-managed. Defaults to true on upsert.
1351
+ * @default true
1352
+ */
1353
+ managedByCode: boolean;
1354
+ };
1355
+ ObjectTypeUserSummaryDto: {
1356
+ /** @description User ID. */
1357
+ id: string;
1358
+ /** @description Email address of the user. */
1359
+ email: string;
1360
+ /** @description Display name of the user. */
1361
+ name: string;
1362
+ };
1363
+ ObjectTypeCreatedByDto: {
1364
+ /** @description Workspace user ID. */
1365
+ id: string;
1366
+ user: components["schemas"]["ObjectTypeUserSummaryDto"];
1367
+ };
1368
+ ObjectTypeCountDto: {
1369
+ /** @description Number of non-deleted entities of this type. */
1370
+ objects: number;
1371
+ };
1372
+ ObjectTypeResponseDto: {
1373
+ /** @description Entity type ID. */
1374
+ id: string;
1375
+ /** @description Singular display name of the entity type. */
1376
+ name: string;
1377
+ /** @description Plural display name of the entity type. */
1378
+ namePlural: string;
1379
+ /** @description URL-safe slug, unique across the deployment. */
1380
+ slug: string;
1381
+ /** @description Icon identifier for the entity type. */
1382
+ icon: string;
1383
+ /** @description Hex colour of the entity type. */
1384
+ color: string;
1385
+ /** @description Whether the entity type is enabled. */
1386
+ isEnabled: boolean;
1387
+ /** @description When false, entity create/update rejects attribute keys not declared on the type. Reserved key `extensions` is always allowed. */
1388
+ allowUnknownAttributes: boolean;
1389
+ /** @description True when last written by code (CLI / SDK upsert). */
1390
+ managedByCode: boolean;
1391
+ /** @description Incremented when attributeSchema, stateSchema, or allowUnknownAttributes changes. */
1392
+ schemaRevision: number;
1393
+ /** @description Field that identifies a record besides the Lunnoa id. `name`, or `attribute:<field name>`. */
1394
+ uniqueKeyField?: string | null;
1395
+ /** @description Description of the entity type. Included when `expansion=description` is requested. */
1396
+ description?: string | null;
1397
+ /** @description Field definitions grouped into sections. Included when `expansion=attributeSchema` is requested. */
1398
+ attributeSchema?: {
1399
+ [key: string]: unknown;
1400
+ };
1401
+ /** @description State machine definition. Included when `expansion=stateSchema` is requested. */
1402
+ stateSchema?: {
1403
+ [key: string]: unknown;
1404
+ } | null;
1405
+ /**
1406
+ * Format: date-time
1407
+ * @description Included when `expansion=createdAt` is requested.
1408
+ */
1409
+ createdAt?: string;
1410
+ /**
1411
+ * Format: date-time
1412
+ * @description Included when `expansion=updatedAt` is requested.
1413
+ */
1414
+ updatedAt?: string;
1415
+ /** @description Workspace member who created the entity type. Included when `expansion=createdBy` is requested. */
1416
+ createdBy?: components["schemas"]["ObjectTypeCreatedByDto"];
1417
+ /** @description Included when `expansion=countObjects` is requested. */
1418
+ _count?: components["schemas"]["ObjectTypeCountDto"];
1419
+ };
1420
+ CreateObjectDto: {
1421
+ /** @description Display name of the entity. */
1422
+ name: string;
1423
+ /**
1424
+ * Format: uuid
1425
+ * @description Platform admin only. Workspace the record is created in. Builders always use their active workspace.
1426
+ */
1427
+ workspaceId?: string;
1428
+ /**
1429
+ * Format: uuid
1430
+ * @description ID of the entity type to create the entity under.
1431
+ */
1432
+ objectTypeId: string;
1433
+ /** @description Initial state ID. Must exist in the entity type state schema. Defaults to the schema initial state when omitted. */
1434
+ state?: string;
1435
+ /** @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. */
1436
+ attributes?: {
1437
+ [key: string]: unknown;
1438
+ };
1439
+ };
1440
+ ObjectTypeSummaryDto: {
1441
+ /** @description Entity type ID. */
1442
+ id: string;
1443
+ /** @description Singular display name of the entity type. */
1444
+ name: string;
1445
+ /** @description URL-safe slug of the entity type. */
1446
+ slug: string;
1447
+ /** @description Icon identifier for the entity type. */
1448
+ icon: string;
1449
+ /** @description Hex colour of the entity type. */
1450
+ color: string;
1451
+ /** @description Plural display name. Included when `expansion=objectType` is requested. */
1452
+ namePlural?: string;
1453
+ /** @description Field definitions grouped into sections. Included when `expansion=objectType` is requested on single-entity reads. */
1454
+ attributeSchema?: {
1455
+ [key: string]: unknown;
1456
+ };
1457
+ /** @description State machine definition. Included when `expansion=objectType` is requested. */
1458
+ stateSchema?: {
1459
+ [key: string]: unknown;
1460
+ } | null;
1461
+ };
1462
+ ObjectUserSummaryDto: {
1463
+ /** @description User ID. */
1464
+ id: string;
1465
+ /** @description Email address of the user. */
1466
+ email: string;
1467
+ /** @description Display name of the user. */
1468
+ name: string;
1469
+ };
1470
+ ObjectWorkspaceUserSummaryDto: {
1471
+ /** @description Workspace user ID. */
1472
+ id: string;
1473
+ user: components["schemas"]["ObjectUserSummaryDto"];
1474
+ };
1475
+ ObjectStateHistoryUserSummaryDto: {
1476
+ /** @description User ID. */
1477
+ id: string;
1478
+ /** @description Display name of the user. */
1479
+ name: string;
1480
+ };
1481
+ ObjectStateHistoryChangedByDto: {
1482
+ /** @description Workspace user ID. */
1483
+ id: string;
1484
+ user: components["schemas"]["ObjectStateHistoryUserSummaryDto"];
1485
+ };
1486
+ ObjectStateHistoryItemDto: {
1487
+ /** @description State history entry ID. */
1488
+ id: string;
1489
+ /** @description State the entity moved from. Null for the initial state. */
1490
+ fromState: string | null;
1491
+ /** @description State the entity moved to. */
1492
+ toState: string;
1493
+ /** @description Reason recorded for the state change, if any. */
1494
+ reason: string | null;
1495
+ /**
1496
+ * Format: date-time
1497
+ * @description When the state change occurred.
1498
+ */
1499
+ createdAt: string;
1500
+ /** @description Workspace member who made the change, if recorded. */
1501
+ changedBy: components["schemas"]["ObjectStateHistoryChangedByDto"] | null;
1502
+ };
1503
+ ObjectResponseDto: {
1504
+ /** @description Entity ID. */
1505
+ id: string;
1506
+ /** @description Display name of the entity. */
1507
+ name: string;
1508
+ /** @description Current state of the entity, if the type defines states. */
1509
+ state: string | null;
1510
+ /** @description Dynamic attribute values keyed by field ID. */
1511
+ attributes: {
1512
+ [key: string]: unknown;
1513
+ };
1514
+ /**
1515
+ * Format: date-time
1516
+ * @description Included when `expansion=createdAt` is requested.
1517
+ */
1518
+ createdAt?: string;
1519
+ /**
1520
+ * Format: date-time
1521
+ * @description Included by default on list responses, otherwise when `expansion=updatedAt` is requested.
1522
+ */
1523
+ updatedAt?: string;
1524
+ /** @description Included by default on list responses with a minimal shape, otherwise when `expansion=objectType` is requested. */
1525
+ objectType?: components["schemas"]["ObjectTypeSummaryDto"];
1526
+ /** @description Included when `expansion=createdBy` is requested. */
1527
+ createdBy?: components["schemas"]["ObjectWorkspaceUserSummaryDto"] | null;
1528
+ /** @description Most recent state changes (up to 50, newest first). Included when `expansion=stateHistory` is requested. */
1529
+ stateHistory?: components["schemas"]["ObjectStateHistoryItemDto"][];
1530
+ };
1531
+ ObjectPaginationDto: {
1532
+ /** @description Current page number (1-based). */
1533
+ page: number;
1534
+ /** @description Number of items per page (maximum 100). */
1535
+ pageSize: number;
1536
+ /** @description Total number of matching entities. */
1537
+ totalCount: number;
1538
+ /** @description Total number of pages. */
1539
+ totalPages: number;
1540
+ };
1541
+ PaginatedObjectsResponseDto: {
1542
+ data: components["schemas"]["ObjectResponseDto"][];
1543
+ pagination: components["schemas"]["ObjectPaginationDto"];
1544
+ };
1545
+ UpdateObjectDto: {
1546
+ /** @description New display name of the entity. */
1547
+ name?: string;
1548
+ /** @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. */
1549
+ attributes?: {
1550
+ [key: string]: unknown;
1551
+ };
1552
+ };
1553
+ ChangeObjectStateDto: {
1554
+ /** @description ID of the target state. Must be a valid transition from the current state when the entity type defines transitions. */
1555
+ newState: string;
1556
+ /** @description Reason for the state change. Required when the transition is configured with requiresReason. */
1557
+ reason?: string;
1558
+ };
1559
+ ChangeObjectStateResponseDto: {
1560
+ /** @description Entity ID. */
1561
+ id: string;
1562
+ /** @description Display name of the entity. */
1563
+ name: string;
1564
+ /** @description State of the entity after the change. */
1565
+ state: string | null;
1566
+ /**
1567
+ * Format: date-time
1568
+ * @description When the entity was last updated.
1569
+ */
1570
+ updatedAt: string;
1571
+ };
1572
+ StateHistoryUserSummaryDto: {
1573
+ /** @description User ID. */
1574
+ id: string;
1575
+ /** @description Display name of the user. */
1576
+ name: string;
1577
+ /** @description Email address of the user. */
1578
+ email: string;
1579
+ };
1580
+ StateHistoryChangedByDto: {
1581
+ /** @description Workspace user ID. */
1582
+ id: string;
1583
+ user: components["schemas"]["StateHistoryUserSummaryDto"];
1584
+ };
1585
+ ObjectStateHistoryEntryResponseDto: {
1586
+ /** @description State history entry ID. */
1587
+ id: string;
1588
+ /** @description State the entity moved from. Null for the initial state. */
1589
+ fromState: string | null;
1590
+ /** @description State the entity moved to. */
1591
+ toState: string;
1592
+ /** @description Reason recorded for the state change, if any. */
1593
+ reason: string | null;
1594
+ /**
1595
+ * Format: date-time
1596
+ * @description When the state change occurred.
1597
+ */
1598
+ createdAt: string;
1599
+ /** @description Workspace member who made the change, if recorded. */
1600
+ changedBy: components["schemas"]["StateHistoryChangedByDto"] | null;
1601
+ };
1602
+ ObjectStateInfoDto: {
1603
+ /** @description State ID. */
1604
+ id: string;
1605
+ /** @description Display name of the state. */
1606
+ name: string;
1607
+ /** @description Colour associated with the state. */
1608
+ color?: string;
1609
+ /** @description Icon associated with the state. */
1610
+ icon?: string;
1611
+ /** @description Whether the state is a final state. */
1612
+ isFinal: boolean;
1613
+ };
1614
+ ObjectStateTransitionDto: {
1615
+ /** @description Transition ID from the state schema. */
1616
+ transitionId: string;
1617
+ /** @description ID of the target state. */
1618
+ toStateId: string;
1619
+ /** @description Display name of the target state. */
1620
+ toStateName: string;
1621
+ /** @description Colour of the target state. */
1622
+ toStateColor?: string;
1623
+ /** @description Icon of the target state. */
1624
+ toStateIcon?: string;
1625
+ /** @description Whether a reason must be supplied for this transition. */
1626
+ requiresReason: boolean;
1627
+ /** @description Confirmation message to show before applying the transition. */
1628
+ confirmationMessage?: string;
1629
+ };
1630
+ ObjectStateTransitionsResponseDto: {
1631
+ /** @description Current state of the entity. Null when the entity has no state or the type defines no state schema. */
1632
+ currentState: components["schemas"]["ObjectStateInfoDto"] | null;
1633
+ /** @description Transitions allowed from the current state. */
1634
+ validTransitions: components["schemas"]["ObjectStateTransitionDto"][];
1635
+ /** @description All states defined by the entity type, for cases where no transitions are defined. */
1636
+ allStates: components["schemas"]["ObjectStateInfoDto"][];
1637
+ };
1638
+ ImportRowErrorDto: {
1639
+ /** @description Row number the error relates to (1-based). */
1640
+ row: number;
1641
+ /** @description Field ID the error relates to, when applicable. */
1642
+ field?: string;
1643
+ /** @description Human-readable error message. */
1644
+ message: string;
1645
+ };
1646
+ ImportEntitiesResponseDto: {
1647
+ /** @description Total number of rows processed. */
1648
+ totalRows: number;
1649
+ /** @description Number of rows imported successfully. */
1650
+ successCount: number;
1651
+ /** @description Number of rows that failed to import. */
1652
+ errorCount: number;
1653
+ /** @description Per-row errors encountered during the import. */
1654
+ errors: components["schemas"]["ImportRowErrorDto"][];
1655
+ /** @description IDs of entities created by the import. */
1656
+ createdIds: string[];
1657
+ /** @description IDs of existing entities updated by the import. */
1658
+ updatedIds: string[];
1659
+ };
1660
+ ImportTemplateResponseDto: {
1661
+ /** @description Column headers for the import file. Always starts with "name". */
1662
+ columns: string[];
1663
+ /** @description Sample row with an example value for each column. */
1664
+ sampleRow: {
1665
+ [key: string]: string;
1666
+ };
1667
+ };
1668
+ CreateKnowledgeDto: {
1669
+ /** @description Name of the knowledge base. */
1670
+ name: string;
1671
+ /** @description Description of the knowledge base. */
1672
+ description?: string;
1673
+ /** @description Default chunk overlap in words. Must be provided together with chunkSize and cannot exceed 50% of it. */
1674
+ chunkOverlap?: number;
1675
+ /** @description Default chunk size in words (50 to 2000). Must be provided together with chunkOverlap. */
1676
+ chunkSize?: number;
1677
+ /** @description Embedding model to use. Defaults to the platform-configured embedding model. */
1678
+ embeddingModel?: string;
1679
+ /** @description Embedding provider to use. Defaults to the platform-configured embedding provider. */
1680
+ embeddingProvider?: string;
1681
+ /** @description Embedding vector dimensions. Defaults to the platform-configured dimensions. */
1682
+ dimensions?: number;
1683
+ };
1684
+ KnowledgeCountDto: {
1685
+ /** @description Number of vector references stored in this knowledge base. */
1686
+ vectorRefs: number;
1687
+ };
1688
+ KnowledgeVectorRefSummaryDto: {
1689
+ /** @description Vector reference ID. */
1690
+ id: string;
1691
+ /** @description ID of the knowledge base the vector reference belongs to. */
1692
+ FK_knowledgeId: string;
1693
+ };
1694
+ KnowledgeUsageDto: {
1695
+ /** @description Total prompt tokens consumed when embedding content into this knowledge base. */
1696
+ promptTokens: number;
1697
+ };
1698
+ KnowledgeWorkspaceDto: {
1699
+ /** @description Workspace ID. */
1700
+ id: string;
1701
+ /** @description Workspace name. */
1702
+ name: string;
1703
+ };
1704
+ KnowledgeResponseDto: {
1705
+ /** @description Knowledge base ID. */
1706
+ id: string;
1707
+ /** @description Knowledge base name. */
1708
+ name: string;
1709
+ /** @description Knowledge base description. Included when `expansion=description` is requested. */
1695
1710
  description?: string;
1696
1711
  /**
1697
1712
  * Format: date-time
@@ -1743,178 +1758,60 @@ interface components {
1743
1758
  SaveUploadedTextToKnowledgeDto: {
1744
1759
  /** @description Name of the document. Multi-part uploads are suffixed with the part number. */
1745
1760
  name: string;
1746
- /** @description Raw text content to embed into the knowledge base. */
1747
- text: string;
1748
- /** @description Chunk overlap in words. Roughly 10% of chunkSize is recommended. */
1749
- chunkOverlap: number;
1750
- /** @description Chunk size in words used to split the text before embedding. */
1751
- chunkSize: number;
1752
- };
1753
- KnowledgeDocumentResponseDto: {
1754
- /** @description Document ID. For `group` documents this is the vector reference group ID; for `standalone` documents it is the vector reference ID. */
1755
- id: string;
1756
- /** @description Document name. */
1757
- name: string;
1758
- /**
1759
- * Format: date-time
1760
- * @description Creation timestamp.
1761
- */
1762
- createdAt: string;
1763
- /** @description Number of parts (chunks) the document was split into. */
1764
- partCount: number;
1765
- /**
1766
- * @description Whether the document is a multi-part group or a standalone single-part upload.
1767
- * @enum {string}
1768
- */
1769
- type: "group" | "standalone";
1770
- };
1771
- KnowledgeDocumentGroupVectorRefDto: {
1772
- /** @description Vector reference ID. */
1773
- id: string;
1774
- /** @description Vector reference name, including the part suffix for multi-part uploads. */
1775
- name: string;
1776
- /**
1777
- * Format: date-time
1778
- * @description Creation timestamp.
1779
- */
1780
- createdAt: string;
1781
- /** @description Part number within the group, or null for single-part uploads. */
1782
- part: number | null;
1783
- /** @description Storage path of the raw text for this part. */
1784
- s3Link: string | null;
1785
- };
1786
- KnowledgeDocumentGroupResponseDto: {
1787
- /** @description Document group ID. */
1788
- id: string;
1789
- /** @description Document group name, or null for legacy groups without a stored name. */
1790
- name: string | null;
1791
- /**
1792
- * Format: date-time
1793
- * @description Creation timestamp.
1794
- */
1795
- createdAt: string;
1796
- /** @description ID of the knowledge base the group belongs to, or null for legacy groups. */
1797
- FK_knowledgeId: string | null;
1798
- /** @description Vector references (parts) in the group, ordered by part number. */
1799
- vectorRefs: components["schemas"]["KnowledgeDocumentGroupVectorRefDto"][];
1800
- };
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;
1761
+ /** @description Raw text content to embed into the knowledge base. */
1762
+ text: string;
1763
+ /** @description Chunk overlap in words. Roughly 10% of chunkSize is recommended. */
1764
+ chunkOverlap: number;
1765
+ /** @description Chunk size in words used to split the text before embedding. */
1766
+ chunkSize: number;
1832
1767
  };
1833
- VariableResponseDto: {
1834
- /** @description Variable ID. */
1768
+ KnowledgeDocumentResponseDto: {
1769
+ /** @description Document ID. For `group` documents this is the vector reference group ID; for `standalone` documents it is the vector reference ID. */
1835
1770
  id: string;
1836
- /** @description Variable name. */
1771
+ /** @description Document name. */
1837
1772
  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
1773
  /**
1858
1774
  * 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}
1775
+ * @description Creation timestamp.
1875
1776
  */
1876
- type?: "system" | "workspace" | "project";
1777
+ createdAt: string;
1778
+ /** @description Number of parts (chunks) the document was split into. */
1779
+ partCount: number;
1877
1780
  /**
1878
- * @description Data type of the variable value.
1781
+ * @description Whether the document is a multi-part group or a standalone single-part upload.
1879
1782
  * @enum {string}
1880
1783
  */
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;
1784
+ type: "group" | "standalone";
1892
1785
  };
1893
- ConnectionResponseDto: {
1894
- /** @description Connection ID. */
1786
+ KnowledgeDocumentGroupVectorRefDto: {
1787
+ /** @description Vector reference ID. */
1895
1788
  id: string;
1896
- /** @description Connection name. */
1789
+ /** @description Vector reference name, including the part suffix for multi-part uploads. */
1897
1790
  name: string;
1898
1791
  /**
1899
1792
  * Format: date-time
1900
- * @description Creation timestamp. Included when `expansion=createdAt` is requested.
1793
+ * @description Creation timestamp.
1901
1794
  */
1902
- createdAt?: string;
1795
+ createdAt: string;
1796
+ /** @description Part number within the group, or null for single-part uploads. */
1797
+ part: number | null;
1798
+ /** @description Storage path of the raw text for this part. */
1799
+ s3Link: string | null;
1800
+ };
1801
+ KnowledgeDocumentGroupResponseDto: {
1802
+ /** @description Document group ID. */
1803
+ id: string;
1804
+ /** @description Document group name, or null for legacy groups without a stored name. */
1805
+ name: string | null;
1903
1806
  /**
1904
1807
  * Format: date-time
1905
- * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
1808
+ * @description Creation timestamp.
1906
1809
  */
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"];
1810
+ createdAt: string;
1811
+ /** @description ID of the knowledge base the group belongs to, or null for legacy groups. */
1812
+ FK_knowledgeId: string | null;
1813
+ /** @description Vector references (parts) in the group, ordered by part number. */
1814
+ vectorRefs: components["schemas"]["KnowledgeDocumentGroupVectorRefDto"][];
1918
1815
  };
1919
1816
  ManuallyRunWorkflowInputDataDto: {
1920
1817
  /**
@@ -2148,6 +2045,179 @@ interface components {
2148
2045
  /** @description Optional display name for the ad-hoc Execution. */
2149
2046
  name?: string;
2150
2047
  };
2048
+ CreateVariableDto: {
2049
+ /** @description Name of the variable. */
2050
+ name: string;
2051
+ /** @description Description of the variable. */
2052
+ description?: string;
2053
+ /**
2054
+ * @description Scope of the variable (system, workspace or project).
2055
+ * @enum {string}
2056
+ */
2057
+ type: "system" | "workspace" | "project";
2058
+ /**
2059
+ * @description Data type of the variable value.
2060
+ * @enum {string}
2061
+ */
2062
+ dataType: "string" | "number" | "boolean" | "date" | "json";
2063
+ /** @description Project ID to scope the variable to. Must belong to the current workspace. */
2064
+ projectId?: string;
2065
+ /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
2066
+ value: string;
2067
+ };
2068
+ VariableWorkspaceDto: {
2069
+ /** @description Workspace ID. */
2070
+ id: string;
2071
+ /** @description Workspace name. */
2072
+ name: string;
2073
+ };
2074
+ VariableProjectDto: {
2075
+ /** @description Project ID. */
2076
+ id: string;
2077
+ /** @description Project name. */
2078
+ name: string;
2079
+ };
2080
+ VariableResponseDto: {
2081
+ /** @description Variable ID. */
2082
+ id: string;
2083
+ /** @description Variable name. */
2084
+ name: string;
2085
+ /**
2086
+ * @description Data type of the variable value.
2087
+ * @enum {string}
2088
+ */
2089
+ dataType: "string" | "number" | "boolean" | "date" | "json";
2090
+ /**
2091
+ * @description Scope of the variable (system, workspace or project).
2092
+ * @enum {string}
2093
+ */
2094
+ type: "system" | "workspace" | "project";
2095
+ /** @description Variable value. Included when `expansion=value` is requested. */
2096
+ value?: Record<string, never>;
2097
+ /** @description Variable description. Included when `expansion=description` is requested. */
2098
+ description?: string;
2099
+ /**
2100
+ * Format: date-time
2101
+ * @description Creation timestamp. Included when `expansion=createdAt` is requested.
2102
+ */
2103
+ createdAt?: string;
2104
+ /**
2105
+ * Format: date-time
2106
+ * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
2107
+ */
2108
+ updatedAt?: string;
2109
+ /** @description Owning workspace. Included when `expansion=workspace` is requested. */
2110
+ workspace?: components["schemas"]["VariableWorkspaceDto"];
2111
+ /** @description Owning project for project-scoped variables. Included when `expansion=project` is requested. */
2112
+ project?: components["schemas"]["VariableProjectDto"];
2113
+ };
2114
+ UpdateVariableDto: {
2115
+ /** @description Name of the variable. */
2116
+ name?: string;
2117
+ /** @description Description of the variable. */
2118
+ description?: string;
2119
+ /**
2120
+ * @description Scope of the variable (system, workspace or project).
2121
+ * @enum {string}
2122
+ */
2123
+ type?: "system" | "workspace" | "project";
2124
+ /**
2125
+ * @description Data type of the variable value.
2126
+ * @enum {string}
2127
+ */
2128
+ dataType?: "string" | "number" | "boolean" | "date" | "json";
2129
+ /** @description Project ID to scope the variable to. Must belong to the current workspace. */
2130
+ projectId?: string;
2131
+ /** @description Variable value, submitted as a string. Values with dataType `number` are converted to numbers on save. */
2132
+ value?: string;
2133
+ };
2134
+ UpsertTableBySlugDto: {
2135
+ /** @description Display name of the table. */
2136
+ name?: string;
2137
+ /** @description What the table contains. Agents use this to choose a table. */
2138
+ description?: string;
2139
+ /** @description Project ID to scope the table to. Omit for a workspace-wide table. */
2140
+ projectId?: string;
2141
+ /** @description Column names: [{ key }]. */
2142
+ columns?: {
2143
+ [key: string]: unknown;
2144
+ }[];
2145
+ /** @description Rows as objects keyed by column name. */
2146
+ rows?: {
2147
+ [key: string]: unknown;
2148
+ }[];
2149
+ /** @description Stable workspace-unique key. Used as the upsert key. */
2150
+ slug: string;
2151
+ /** @description Marks the table as code-managed. Defaults to true on upsert. */
2152
+ managedByCode?: boolean;
2153
+ };
2154
+ TableProjectDto: {
2155
+ id: string;
2156
+ name: string;
2157
+ };
2158
+ TableColumnDto: {
2159
+ /** @description Column key used in rows. */
2160
+ key: string;
2161
+ /** @description Display label. */
2162
+ label: string;
2163
+ };
2164
+ TableResponseDto: {
2165
+ /** @description Table ID. */
2166
+ id: string;
2167
+ /** @description Display name. */
2168
+ name: string;
2169
+ /** @description Stable key, unique within the workspace. */
2170
+ slug: string;
2171
+ /** @description What the table contains. */
2172
+ description?: string | null;
2173
+ /** @description Whether the table is managed by code (CLI / API upsert). */
2174
+ managedByCode: boolean;
2175
+ /** @description Project the table is scoped to, or null for workspace-wide. */
2176
+ FK_projectId?: string | null;
2177
+ project?: components["schemas"]["TableProjectDto"] | null;
2178
+ /** @description Columns. Returned by get and upsert, not by list. */
2179
+ columns?: components["schemas"]["TableColumnDto"][];
2180
+ /** @description Rows keyed by column key. Returned by get and upsert, not by list. */
2181
+ rows?: {
2182
+ [key: string]: unknown;
2183
+ }[];
2184
+ /** Format: date-time */
2185
+ createdAt: string;
2186
+ /** Format: date-time */
2187
+ updatedAt: string;
2188
+ };
2189
+ ConnectionWorkspaceDto: {
2190
+ /** @description Workspace ID. */
2191
+ id: string;
2192
+ /** @description Workspace name. */
2193
+ name: string;
2194
+ };
2195
+ ConnectionResponseDto: {
2196
+ /** @description Connection ID. */
2197
+ id: string;
2198
+ /** @description Connection name. */
2199
+ name: string;
2200
+ /**
2201
+ * Format: date-time
2202
+ * @description Creation timestamp. Included when `expansion=createdAt` is requested.
2203
+ */
2204
+ createdAt?: string;
2205
+ /**
2206
+ * Format: date-time
2207
+ * @description Last update timestamp. Included when `expansion=updatedAt` is requested.
2208
+ */
2209
+ updatedAt?: string;
2210
+ /** @description App connection type ID (e.g. the OAuth2 or API key connection definition of the app). Included when `expansion=connectionId` is requested. */
2211
+ connectionId?: string;
2212
+ /** @description ID of the workflow app this connection belongs to. Included when `expansion=workflowAppId` or `expansion=workflowApp` is requested. */
2213
+ workflowAppId?: string;
2214
+ /** @description Full workflow app definition for this connection. Included when `expansion=workflowApp` is requested on the list endpoint. */
2215
+ workflowApp?: {
2216
+ [key: string]: unknown;
2217
+ };
2218
+ /** @description Owning workspace. Included when `expansion=workspace` is requested. */
2219
+ workspace?: components["schemas"]["ConnectionWorkspaceDto"];
2220
+ };
2151
2221
  TaskListItemResponseDto: {
2152
2222
  /**
2153
2223
  * @description Task ID (UUID)
@@ -2367,12 +2437,9 @@ interface components {
2367
2437
  * "imageUrl": "https://example.com/image.png"
2368
2438
  * }
2369
2439
  */
2370
- data?: {
2371
- /** @description URL of an image attached to the message. */
2372
- imageUrl?: string;
2373
- };
2440
+ data?: Record<string, never>;
2374
2441
  /**
2375
- * @description Answer to an ask-before-sending personal-data prompt. Applies to this message only.
2442
+ * @description Answer to an "ask before sending" personal-data prompt. Applies to this message only.
2376
2443
  * @enum {string}
2377
2444
  */
2378
2445
  piiResolution?: "anonymize" | "fallback";
@@ -2427,6 +2494,8 @@ type EntityStateTransitions = Schemas['ObjectStateTransitionsResponseDto'];
2427
2494
  type ImportEntitiesResult = Schemas['ImportEntitiesResponseDto'];
2428
2495
  type ImportTemplate = Schemas['ImportTemplateResponseDto'];
2429
2496
  type EntityType = Schemas['ObjectTypeResponseDto'];
2497
+ type Table = Schemas['TableResponseDto'];
2498
+ type UpsertTableBySlugInput = Schemas['UpsertTableBySlugDto'];
2430
2499
  type Knowledge = Schemas['KnowledgeResponseDto'];
2431
2500
  type CreateKnowledgeInput = Schemas['CreateKnowledgeDto'];
2432
2501
  type UpdateKnowledgeInput = Schemas['UpdateKnowledgeDto'];
@@ -3096,6 +3165,24 @@ declare class EntityTypesResource {
3096
3165
  upsertBySlug(definition: EntityTypeDefinition | UpsertEntityTypeBySlugInput): Promise<EntityType>;
3097
3166
  }
3098
3167
 
3168
+ declare class TablesResource {
3169
+ private readonly http;
3170
+ constructor(http: HttpClient);
3171
+ /** Lists tables in the API key's workspace (without columns and rows). */
3172
+ list(options?: {
3173
+ projectId?: string;
3174
+ }): Promise<Table[]>;
3175
+ /** Returns a single table by ID, including columns and rows. */
3176
+ get(id: string): Promise<Table>;
3177
+ /** Returns a single table by its workspace slug, including columns and rows. */
3178
+ getBySlug(slug: string): Promise<Table>;
3179
+ /**
3180
+ * Creates or updates a table by workspace slug. Omitted columns or rows
3181
+ * keep their current value. Marks `managedByCode` by default.
3182
+ */
3183
+ upsertBySlug(input: UpsertTableBySlugInput): Promise<Table>;
3184
+ }
3185
+
3099
3186
  type EligibleApprover = {
3100
3187
  workspaceUserId: string;
3101
3188
  email: string;
@@ -3547,6 +3634,8 @@ declare class LunnoaClient {
3547
3634
  readonly approvals: ApprovalsResource;
3548
3635
  readonly entities: EntitiesResource;
3549
3636
  readonly entityTypes: EntityTypesResource;
3637
+ /** Small reference / lookup tables (rows stored inline; use entities for transactional data). */
3638
+ readonly tables: TablesResource;
3550
3639
  readonly knowledge: KnowledgeResource;
3551
3640
  readonly queues: QueuesResource;
3552
3641
  readonly queueItems: QueueItemsResource;
@@ -3725,7 +3814,7 @@ interface UseAgentChatResult {
3725
3814
  /**
3726
3815
  * Thin AI SDK wrapper for Lunnoa agent chat.
3727
3816
  *
3728
- * Requires optional peer `@ai-sdk/react` (and the `ai` package already shipped
3817
+ * Uses `@ai-sdk/react` (and the `ai` package already shipped
3729
3818
  * with `@lunnoa/client`). Points `DefaultChatTransport` at the Automate
3730
3819
  * stream-message endpoint with a Bearer token from the auth provider.
3731
3820
  *