@dotcms/ai 26.8.19-3 → 26.8.28-1
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/package.json +1 -1
- package/spec.cjs.js +135 -6
- package/spec.esm.js +135 -6
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotcms/ai",
|
|
3
|
-
"version": "26.08.
|
|
3
|
+
"version": "26.08.28-01",
|
|
4
4
|
"description": "The dotCMS agentic runtime — run model-written or human-written code safely against a dotCMS instance, with auth and policy owned in one place.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
package/spec.cjs.js
CHANGED
|
@@ -4965,7 +4965,7 @@ var paths = {
|
|
|
4965
4965
|
},
|
|
4966
4966
|
"/api/v1/roles/{roleid}/users": {
|
|
4967
4967
|
"delete": {
|
|
4968
|
-
description: "Bulk-removes the DIRECT membership of the given users from the role. The batch has PARTIAL-SUCCESS semantics: it never fails as a whole once the role resolves — every removable membership is removed and every other entry is reported in the skipped list with a reason: not_found (no user matches the id), inherited (the user is not a direct member — the membership is inherited through the role hierarchy, or the user is not a member at all; inherited membership can only be revoked by removing the user from the ancestor role that grants it), or error (unexpected per-user failure, logged server-side). Removals are committed per user, so entries already processed stay removed regardless of later entries.",
|
|
4968
|
+
description: "Bulk-removes the DIRECT membership of the given users from the role. The batch has PARTIAL-SUCCESS semantics: it never fails as a whole once the role resolves — every removable membership is removed and every other entry is reported in the skipped list with a reason: not_found (no user matches the id), inherited (the user is not a direct member — the membership is inherited through the role hierarchy, or the user is not a member at all; inherited membership can only be revoked by removing the user from the ancestor role that grants it), or error (unexpected per-user failure, logged server-side). Removals are committed per user, so entries already processed stay removed regardless of later entries. Only user-assignable roles (editUsers=true) accept membership changes: a role whose editUsers flag is false — e.g. a user's individual role or a system role — is rejected with 403 for the whole request, mirroring the grant endpoint.",
|
|
4969
4969
|
operationId: "removeUsersFromRole",
|
|
4970
4970
|
parameters: [
|
|
4971
4971
|
{
|
|
@@ -5019,7 +5019,7 @@ var paths = {
|
|
|
5019
5019
|
"application/json": {
|
|
5020
5020
|
}
|
|
5021
5021
|
},
|
|
5022
|
-
description: "Forbidden - admin permissions required"
|
|
5022
|
+
description: "Forbidden - admin permissions required, or the role's editUsers flag is false"
|
|
5023
5023
|
},
|
|
5024
5024
|
"404": {
|
|
5025
5025
|
content: {
|
|
@@ -5033,6 +5033,110 @@ var paths = {
|
|
|
5033
5033
|
tags: [
|
|
5034
5034
|
"Roles"
|
|
5035
5035
|
]
|
|
5036
|
+
},
|
|
5037
|
+
get: {
|
|
5038
|
+
description: "Returns the paginated list of users directly granted the given role, using the standard user serialization (email address included). Grants inherited through the role hierarchy are not included.",
|
|
5039
|
+
operationId: "loadUsersByRoleId",
|
|
5040
|
+
parameters: [
|
|
5041
|
+
{
|
|
5042
|
+
description: "Id of the role to list users for",
|
|
5043
|
+
"in": "path",
|
|
5044
|
+
name: "roleid",
|
|
5045
|
+
required: true,
|
|
5046
|
+
schema: {
|
|
5047
|
+
type: "string"
|
|
5048
|
+
}
|
|
5049
|
+
},
|
|
5050
|
+
{
|
|
5051
|
+
description: "Filter matching user id, first name, last name, email or full name",
|
|
5052
|
+
"in": "query",
|
|
5053
|
+
name: "filter",
|
|
5054
|
+
schema: {
|
|
5055
|
+
type: "string"
|
|
5056
|
+
}
|
|
5057
|
+
},
|
|
5058
|
+
{
|
|
5059
|
+
description: "Page number for pagination",
|
|
5060
|
+
"in": "query",
|
|
5061
|
+
name: "page",
|
|
5062
|
+
schema: {
|
|
5063
|
+
type: "integer",
|
|
5064
|
+
format: "int32",
|
|
5065
|
+
"default": 1
|
|
5066
|
+
}
|
|
5067
|
+
},
|
|
5068
|
+
{
|
|
5069
|
+
description: "Number of items per page",
|
|
5070
|
+
"in": "query",
|
|
5071
|
+
name: "per_page",
|
|
5072
|
+
schema: {
|
|
5073
|
+
type: "integer",
|
|
5074
|
+
format: "int32",
|
|
5075
|
+
"default": 40
|
|
5076
|
+
}
|
|
5077
|
+
},
|
|
5078
|
+
{
|
|
5079
|
+
description: "Column name for sorting results",
|
|
5080
|
+
"in": "query",
|
|
5081
|
+
name: "orderby",
|
|
5082
|
+
schema: {
|
|
5083
|
+
type: "string"
|
|
5084
|
+
}
|
|
5085
|
+
},
|
|
5086
|
+
{
|
|
5087
|
+
description: "Sorting direction: ASC or DESC",
|
|
5088
|
+
"in": "query",
|
|
5089
|
+
name: "direction",
|
|
5090
|
+
schema: {
|
|
5091
|
+
type: "string",
|
|
5092
|
+
"default": "ASC"
|
|
5093
|
+
}
|
|
5094
|
+
}
|
|
5095
|
+
],
|
|
5096
|
+
responses: {
|
|
5097
|
+
"200": {
|
|
5098
|
+
content: {
|
|
5099
|
+
"application/json": {
|
|
5100
|
+
schema: {
|
|
5101
|
+
$ref: "#/components/schemas/ResponseEntityPaginatedDataView"
|
|
5102
|
+
}
|
|
5103
|
+
}
|
|
5104
|
+
},
|
|
5105
|
+
description: "Users retrieved successfully"
|
|
5106
|
+
},
|
|
5107
|
+
"400": {
|
|
5108
|
+
content: {
|
|
5109
|
+
"application/json": {
|
|
5110
|
+
}
|
|
5111
|
+
},
|
|
5112
|
+
description: "Bad request - invalid pagination or sorting parameters"
|
|
5113
|
+
},
|
|
5114
|
+
"401": {
|
|
5115
|
+
content: {
|
|
5116
|
+
"application/json": {
|
|
5117
|
+
}
|
|
5118
|
+
},
|
|
5119
|
+
description: "Unauthorized - authentication required"
|
|
5120
|
+
},
|
|
5121
|
+
"403": {
|
|
5122
|
+
content: {
|
|
5123
|
+
"application/json": {
|
|
5124
|
+
}
|
|
5125
|
+
},
|
|
5126
|
+
description: "Forbidden - roles portlet access required"
|
|
5127
|
+
},
|
|
5128
|
+
"404": {
|
|
5129
|
+
content: {
|
|
5130
|
+
"application/json": {
|
|
5131
|
+
}
|
|
5132
|
+
},
|
|
5133
|
+
description: "Role not found"
|
|
5134
|
+
}
|
|
5135
|
+
},
|
|
5136
|
+
summary: "Get the users directly granted a role",
|
|
5137
|
+
tags: [
|
|
5138
|
+
"Roles"
|
|
5139
|
+
]
|
|
5036
5140
|
}
|
|
5037
5141
|
},
|
|
5038
5142
|
"/api/v1/roles/{roleid}/users/{userId}": {
|
|
@@ -7502,7 +7606,7 @@ var paths = {
|
|
|
7502
7606
|
]
|
|
7503
7607
|
},
|
|
7504
7608
|
put: {
|
|
7505
|
-
description: "Updates an existing user's information including personal details, roles, and account settings. Only admin users or users with appropriate portlet access can perform this operation.",
|
|
7609
|
+
description: "Updates an existing user's information including personal details, roles, and account settings. Only admin users or users with appropriate portlet access can perform this operation. The optional roles list carries role KEYS and is the user's complete desired set of user-assignable roles (editUsers=true): omit the field to leave roles untouched, send a non-empty list to replace the user-assignable role set, or send an empty list to remove all of the user's user-assignable roles. System-managed memberships (e.g. the user's individual role) are never modified, keys that resolve to no role are ignored, and null or blank entries are rejected with 400. Note that roles without a key cannot be expressed in this list — manage those through the role-centric /v1/roles/{roleId}/users endpoints instead.",
|
|
7506
7610
|
operationId: "updateUser",
|
|
7507
7611
|
requestBody: {
|
|
7508
7612
|
content: {
|
|
@@ -7512,7 +7616,7 @@ var paths = {
|
|
|
7512
7616
|
}
|
|
7513
7617
|
}
|
|
7514
7618
|
},
|
|
7515
|
-
description: "User update data including personal information, roles, and account settings",
|
|
7619
|
+
description: "User update data including personal information, roles, and account settings. The roles list (role keys) is the complete desired set of user-assignable roles: absent = untouched, empty = remove all user-assignable roles, non-empty = replace.",
|
|
7516
7620
|
required: true
|
|
7517
7621
|
},
|
|
7518
7622
|
responses: {
|
|
@@ -20504,6 +20608,13 @@ var components = {
|
|
|
20504
20608
|
RoleView: {
|
|
20505
20609
|
type: "object",
|
|
20506
20610
|
properties: {
|
|
20611
|
+
childCount: {
|
|
20612
|
+
type: "integer",
|
|
20613
|
+
format: "int32",
|
|
20614
|
+
description: "Number of direct child roles, independent of children hydration",
|
|
20615
|
+
example: 3,
|
|
20616
|
+
minimum: 0
|
|
20617
|
+
},
|
|
20507
20618
|
dbfqn: {
|
|
20508
20619
|
type: "string"
|
|
20509
20620
|
},
|
|
@@ -20545,8 +20656,19 @@ var components = {
|
|
|
20545
20656
|
},
|
|
20546
20657
|
system: {
|
|
20547
20658
|
type: "boolean"
|
|
20659
|
+
},
|
|
20660
|
+
userCount: {
|
|
20661
|
+
type: "integer",
|
|
20662
|
+
format: "int32",
|
|
20663
|
+
description: "Number of users directly granted this role, matching the totals of the role users listing: inherited grants and hidden users (system, anonymous, default, flagged for deletion) are not included",
|
|
20664
|
+
example: 12,
|
|
20665
|
+
minimum: 0
|
|
20548
20666
|
}
|
|
20549
|
-
}
|
|
20667
|
+
},
|
|
20668
|
+
required: [
|
|
20669
|
+
"childCount",
|
|
20670
|
+
"userCount"
|
|
20671
|
+
]
|
|
20550
20672
|
},
|
|
20551
20673
|
RunningId: {
|
|
20552
20674
|
type: "object",
|
|
@@ -22403,8 +22525,15 @@ var components = {
|
|
|
22403
22525
|
},
|
|
22404
22526
|
roles: {
|
|
22405
22527
|
type: "array",
|
|
22528
|
+
description: "Role keys or role IDs (roles created without a key can only be referenced by ID). On update: field absent = roles untouched; [] = remove all user-assignable roles; otherwise the complete user-assignable role set. On create: absent or empty = default Front-end User role. Unknown entries are ignored.",
|
|
22529
|
+
example: [
|
|
22530
|
+
"DOTCMS_BACK_END_USER",
|
|
22531
|
+
"48190c8c-42c4-46af-8d1a-0cd5db894797"
|
|
22532
|
+
],
|
|
22406
22533
|
items: {
|
|
22407
|
-
type: "string"
|
|
22534
|
+
type: "string",
|
|
22535
|
+
description: "Role keys or role IDs (roles created without a key can only be referenced by ID). On update: field absent = roles untouched; [] = remove all user-assignable roles; otherwise the complete user-assignable role set. On create: absent or empty = default Front-end User role. Unknown entries are ignored.",
|
|
22536
|
+
example: "[\"DOTCMS_BACK_END_USER\",\"48190c8c-42c4-46af-8d1a-0cd5db894797\"]"
|
|
22408
22537
|
}
|
|
22409
22538
|
},
|
|
22410
22539
|
timeZoneId: {
|
package/spec.esm.js
CHANGED
|
@@ -4963,7 +4963,7 @@ var paths = {
|
|
|
4963
4963
|
},
|
|
4964
4964
|
"/api/v1/roles/{roleid}/users": {
|
|
4965
4965
|
"delete": {
|
|
4966
|
-
description: "Bulk-removes the DIRECT membership of the given users from the role. The batch has PARTIAL-SUCCESS semantics: it never fails as a whole once the role resolves — every removable membership is removed and every other entry is reported in the skipped list with a reason: not_found (no user matches the id), inherited (the user is not a direct member — the membership is inherited through the role hierarchy, or the user is not a member at all; inherited membership can only be revoked by removing the user from the ancestor role that grants it), or error (unexpected per-user failure, logged server-side). Removals are committed per user, so entries already processed stay removed regardless of later entries.",
|
|
4966
|
+
description: "Bulk-removes the DIRECT membership of the given users from the role. The batch has PARTIAL-SUCCESS semantics: it never fails as a whole once the role resolves — every removable membership is removed and every other entry is reported in the skipped list with a reason: not_found (no user matches the id), inherited (the user is not a direct member — the membership is inherited through the role hierarchy, or the user is not a member at all; inherited membership can only be revoked by removing the user from the ancestor role that grants it), or error (unexpected per-user failure, logged server-side). Removals are committed per user, so entries already processed stay removed regardless of later entries. Only user-assignable roles (editUsers=true) accept membership changes: a role whose editUsers flag is false — e.g. a user's individual role or a system role — is rejected with 403 for the whole request, mirroring the grant endpoint.",
|
|
4967
4967
|
operationId: "removeUsersFromRole",
|
|
4968
4968
|
parameters: [
|
|
4969
4969
|
{
|
|
@@ -5017,7 +5017,7 @@ var paths = {
|
|
|
5017
5017
|
"application/json": {
|
|
5018
5018
|
}
|
|
5019
5019
|
},
|
|
5020
|
-
description: "Forbidden - admin permissions required"
|
|
5020
|
+
description: "Forbidden - admin permissions required, or the role's editUsers flag is false"
|
|
5021
5021
|
},
|
|
5022
5022
|
"404": {
|
|
5023
5023
|
content: {
|
|
@@ -5031,6 +5031,110 @@ var paths = {
|
|
|
5031
5031
|
tags: [
|
|
5032
5032
|
"Roles"
|
|
5033
5033
|
]
|
|
5034
|
+
},
|
|
5035
|
+
get: {
|
|
5036
|
+
description: "Returns the paginated list of users directly granted the given role, using the standard user serialization (email address included). Grants inherited through the role hierarchy are not included.",
|
|
5037
|
+
operationId: "loadUsersByRoleId",
|
|
5038
|
+
parameters: [
|
|
5039
|
+
{
|
|
5040
|
+
description: "Id of the role to list users for",
|
|
5041
|
+
"in": "path",
|
|
5042
|
+
name: "roleid",
|
|
5043
|
+
required: true,
|
|
5044
|
+
schema: {
|
|
5045
|
+
type: "string"
|
|
5046
|
+
}
|
|
5047
|
+
},
|
|
5048
|
+
{
|
|
5049
|
+
description: "Filter matching user id, first name, last name, email or full name",
|
|
5050
|
+
"in": "query",
|
|
5051
|
+
name: "filter",
|
|
5052
|
+
schema: {
|
|
5053
|
+
type: "string"
|
|
5054
|
+
}
|
|
5055
|
+
},
|
|
5056
|
+
{
|
|
5057
|
+
description: "Page number for pagination",
|
|
5058
|
+
"in": "query",
|
|
5059
|
+
name: "page",
|
|
5060
|
+
schema: {
|
|
5061
|
+
type: "integer",
|
|
5062
|
+
format: "int32",
|
|
5063
|
+
"default": 1
|
|
5064
|
+
}
|
|
5065
|
+
},
|
|
5066
|
+
{
|
|
5067
|
+
description: "Number of items per page",
|
|
5068
|
+
"in": "query",
|
|
5069
|
+
name: "per_page",
|
|
5070
|
+
schema: {
|
|
5071
|
+
type: "integer",
|
|
5072
|
+
format: "int32",
|
|
5073
|
+
"default": 40
|
|
5074
|
+
}
|
|
5075
|
+
},
|
|
5076
|
+
{
|
|
5077
|
+
description: "Column name for sorting results",
|
|
5078
|
+
"in": "query",
|
|
5079
|
+
name: "orderby",
|
|
5080
|
+
schema: {
|
|
5081
|
+
type: "string"
|
|
5082
|
+
}
|
|
5083
|
+
},
|
|
5084
|
+
{
|
|
5085
|
+
description: "Sorting direction: ASC or DESC",
|
|
5086
|
+
"in": "query",
|
|
5087
|
+
name: "direction",
|
|
5088
|
+
schema: {
|
|
5089
|
+
type: "string",
|
|
5090
|
+
"default": "ASC"
|
|
5091
|
+
}
|
|
5092
|
+
}
|
|
5093
|
+
],
|
|
5094
|
+
responses: {
|
|
5095
|
+
"200": {
|
|
5096
|
+
content: {
|
|
5097
|
+
"application/json": {
|
|
5098
|
+
schema: {
|
|
5099
|
+
$ref: "#/components/schemas/ResponseEntityPaginatedDataView"
|
|
5100
|
+
}
|
|
5101
|
+
}
|
|
5102
|
+
},
|
|
5103
|
+
description: "Users retrieved successfully"
|
|
5104
|
+
},
|
|
5105
|
+
"400": {
|
|
5106
|
+
content: {
|
|
5107
|
+
"application/json": {
|
|
5108
|
+
}
|
|
5109
|
+
},
|
|
5110
|
+
description: "Bad request - invalid pagination or sorting parameters"
|
|
5111
|
+
},
|
|
5112
|
+
"401": {
|
|
5113
|
+
content: {
|
|
5114
|
+
"application/json": {
|
|
5115
|
+
}
|
|
5116
|
+
},
|
|
5117
|
+
description: "Unauthorized - authentication required"
|
|
5118
|
+
},
|
|
5119
|
+
"403": {
|
|
5120
|
+
content: {
|
|
5121
|
+
"application/json": {
|
|
5122
|
+
}
|
|
5123
|
+
},
|
|
5124
|
+
description: "Forbidden - roles portlet access required"
|
|
5125
|
+
},
|
|
5126
|
+
"404": {
|
|
5127
|
+
content: {
|
|
5128
|
+
"application/json": {
|
|
5129
|
+
}
|
|
5130
|
+
},
|
|
5131
|
+
description: "Role not found"
|
|
5132
|
+
}
|
|
5133
|
+
},
|
|
5134
|
+
summary: "Get the users directly granted a role",
|
|
5135
|
+
tags: [
|
|
5136
|
+
"Roles"
|
|
5137
|
+
]
|
|
5034
5138
|
}
|
|
5035
5139
|
},
|
|
5036
5140
|
"/api/v1/roles/{roleid}/users/{userId}": {
|
|
@@ -7500,7 +7604,7 @@ var paths = {
|
|
|
7500
7604
|
]
|
|
7501
7605
|
},
|
|
7502
7606
|
put: {
|
|
7503
|
-
description: "Updates an existing user's information including personal details, roles, and account settings. Only admin users or users with appropriate portlet access can perform this operation.",
|
|
7607
|
+
description: "Updates an existing user's information including personal details, roles, and account settings. Only admin users or users with appropriate portlet access can perform this operation. The optional roles list carries role KEYS and is the user's complete desired set of user-assignable roles (editUsers=true): omit the field to leave roles untouched, send a non-empty list to replace the user-assignable role set, or send an empty list to remove all of the user's user-assignable roles. System-managed memberships (e.g. the user's individual role) are never modified, keys that resolve to no role are ignored, and null or blank entries are rejected with 400. Note that roles without a key cannot be expressed in this list — manage those through the role-centric /v1/roles/{roleId}/users endpoints instead.",
|
|
7504
7608
|
operationId: "updateUser",
|
|
7505
7609
|
requestBody: {
|
|
7506
7610
|
content: {
|
|
@@ -7510,7 +7614,7 @@ var paths = {
|
|
|
7510
7614
|
}
|
|
7511
7615
|
}
|
|
7512
7616
|
},
|
|
7513
|
-
description: "User update data including personal information, roles, and account settings",
|
|
7617
|
+
description: "User update data including personal information, roles, and account settings. The roles list (role keys) is the complete desired set of user-assignable roles: absent = untouched, empty = remove all user-assignable roles, non-empty = replace.",
|
|
7514
7618
|
required: true
|
|
7515
7619
|
},
|
|
7516
7620
|
responses: {
|
|
@@ -20502,6 +20606,13 @@ var components = {
|
|
|
20502
20606
|
RoleView: {
|
|
20503
20607
|
type: "object",
|
|
20504
20608
|
properties: {
|
|
20609
|
+
childCount: {
|
|
20610
|
+
type: "integer",
|
|
20611
|
+
format: "int32",
|
|
20612
|
+
description: "Number of direct child roles, independent of children hydration",
|
|
20613
|
+
example: 3,
|
|
20614
|
+
minimum: 0
|
|
20615
|
+
},
|
|
20505
20616
|
dbfqn: {
|
|
20506
20617
|
type: "string"
|
|
20507
20618
|
},
|
|
@@ -20543,8 +20654,19 @@ var components = {
|
|
|
20543
20654
|
},
|
|
20544
20655
|
system: {
|
|
20545
20656
|
type: "boolean"
|
|
20657
|
+
},
|
|
20658
|
+
userCount: {
|
|
20659
|
+
type: "integer",
|
|
20660
|
+
format: "int32",
|
|
20661
|
+
description: "Number of users directly granted this role, matching the totals of the role users listing: inherited grants and hidden users (system, anonymous, default, flagged for deletion) are not included",
|
|
20662
|
+
example: 12,
|
|
20663
|
+
minimum: 0
|
|
20546
20664
|
}
|
|
20547
|
-
}
|
|
20665
|
+
},
|
|
20666
|
+
required: [
|
|
20667
|
+
"childCount",
|
|
20668
|
+
"userCount"
|
|
20669
|
+
]
|
|
20548
20670
|
},
|
|
20549
20671
|
RunningId: {
|
|
20550
20672
|
type: "object",
|
|
@@ -22401,8 +22523,15 @@ var components = {
|
|
|
22401
22523
|
},
|
|
22402
22524
|
roles: {
|
|
22403
22525
|
type: "array",
|
|
22526
|
+
description: "Role keys or role IDs (roles created without a key can only be referenced by ID). On update: field absent = roles untouched; [] = remove all user-assignable roles; otherwise the complete user-assignable role set. On create: absent or empty = default Front-end User role. Unknown entries are ignored.",
|
|
22527
|
+
example: [
|
|
22528
|
+
"DOTCMS_BACK_END_USER",
|
|
22529
|
+
"48190c8c-42c4-46af-8d1a-0cd5db894797"
|
|
22530
|
+
],
|
|
22404
22531
|
items: {
|
|
22405
|
-
type: "string"
|
|
22532
|
+
type: "string",
|
|
22533
|
+
description: "Role keys or role IDs (roles created without a key can only be referenced by ID). On update: field absent = roles untouched; [] = remove all user-assignable roles; otherwise the complete user-assignable role set. On create: absent or empty = default Front-end User role. Unknown entries are ignored.",
|
|
22534
|
+
example: "[\"DOTCMS_BACK_END_USER\",\"48190c8c-42c4-46af-8d1a-0cd5db894797\"]"
|
|
22406
22535
|
}
|
|
22407
22536
|
},
|
|
22408
22537
|
timeZoneId: {
|