@breign/db-schemas 0.1.36 → 0.1.38
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/types/index.d.ts +3 -0
- package/dist/types/index.js +3 -0
- package/dist/types/permissions.d.ts +42 -0
- package/dist/types/permissions.js +41 -0
- package/dist/types/scheduled-task-run.d.ts +24 -0
- package/dist/types/scheduled-task-run.js +2 -0
- package/dist/types/scheduled-task.d.ts +49 -0
- package/dist/types/scheduled-task.js +2 -0
- package/package.json +1 -1
- package/src/types/index.ts +3 -0
- package/src/types/permissions.ts +140 -0
- package/src/types/scheduled-task-run.ts +31 -0
- package/src/types/scheduled-task.ts +42 -0
package/dist/types/index.d.ts
CHANGED
|
@@ -9,5 +9,8 @@ export * from './knowledge';
|
|
|
9
9
|
export * from './organization';
|
|
10
10
|
export * from './user';
|
|
11
11
|
export * from './role';
|
|
12
|
+
export * from './permissions';
|
|
12
13
|
export * from './tool';
|
|
13
14
|
export * from './skill';
|
|
15
|
+
export * from './scheduled-task';
|
|
16
|
+
export * from './scheduled-task-run';
|
package/dist/types/index.js
CHANGED
|
@@ -25,5 +25,8 @@ __exportStar(require("./knowledge"), exports);
|
|
|
25
25
|
__exportStar(require("./organization"), exports);
|
|
26
26
|
__exportStar(require("./user"), exports);
|
|
27
27
|
__exportStar(require("./role"), exports);
|
|
28
|
+
__exportStar(require("./permissions"), exports);
|
|
28
29
|
__exportStar(require("./tool"), exports);
|
|
29
30
|
__exportStar(require("./skill"), exports);
|
|
31
|
+
__exportStar(require("./scheduled-task"), exports);
|
|
32
|
+
__exportStar(require("./scheduled-task-run"), exports);
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Organization } from './organization';
|
|
2
|
+
export type OrganizationPermissionKey = 'org.read';
|
|
3
|
+
export type AgentPermissionKey = 'agent.read' | 'agent.update' | 'agent.delete' | 'agent.chat';
|
|
4
|
+
export type AppPermissionKey = 'app.read';
|
|
5
|
+
export type KnowledgePermissionKey = 'knowledge.read' | 'knowledge.create' | 'knowledge.update' | 'knowledge.delete' | 'knowledge.file.add' | 'knowledge.file.delete' | 'knowledge.file.download';
|
|
6
|
+
export type SkillPermissionKey = 'skill.read' | 'skill.create' | 'skill.update' | 'skill.delete' | 'skill.file.add' | 'skill.file.delete';
|
|
7
|
+
export type ModerationPermissionKey = 'moderation.read' | 'moderation.create' | 'moderation.update' | 'moderation.delete';
|
|
8
|
+
export type UserPermissionKey = 'user.read' | 'user.create' | 'user.update' | 'user.delete';
|
|
9
|
+
export type EnginePermissionKey = 'engine.read' | 'engine.create' | 'engine.update' | 'engine.delete';
|
|
10
|
+
export type ToolPermissionKey = 'tool.read' | 'tool.create' | 'tool.update' | 'tool.delete';
|
|
11
|
+
export type FlowPermissionKey = 'flow.read';
|
|
12
|
+
export type PermissionKey = OrganizationPermissionKey | AgentPermissionKey | AppPermissionKey | KnowledgePermissionKey | SkillPermissionKey | ModerationPermissionKey | UserPermissionKey | EnginePermissionKey | ToolPermissionKey | FlowPermissionKey;
|
|
13
|
+
export declare const ALL_PERMISSION_KEYS: readonly ["org.read", "agent.read", "agent.update", "agent.delete", "agent.chat", "app.read", "knowledge.read", "knowledge.create", "knowledge.update", "knowledge.delete", "knowledge.file.add", "knowledge.file.delete", "knowledge.file.download", "skill.read", "skill.create", "skill.update", "skill.delete", "skill.file.add", "skill.file.delete", "moderation.read", "moderation.create", "moderation.update", "moderation.delete", "user.read", "user.create", "user.update", "user.delete", "engine.read", "engine.create", "engine.update", "engine.delete", "tool.read", "tool.create", "tool.update", "tool.delete", "flow.read"];
|
|
14
|
+
export type PermissionEntry = {
|
|
15
|
+
permission: PermissionKey;
|
|
16
|
+
allowed: boolean;
|
|
17
|
+
};
|
|
18
|
+
/** Rôle d'accès granulaire (distinct de `AgentRole`). */
|
|
19
|
+
export type AccessRole = {
|
|
20
|
+
id: string;
|
|
21
|
+
organizationId: Organization['id'];
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
slug?: string | null;
|
|
25
|
+
isSystem?: boolean;
|
|
26
|
+
createdAt: string;
|
|
27
|
+
permissions: PermissionEntry[];
|
|
28
|
+
};
|
|
29
|
+
export type MemberPermissions = Partial<Record<PermissionKey, boolean>>;
|
|
30
|
+
export type UserAccess = {
|
|
31
|
+
roleIds: string[];
|
|
32
|
+
directPermissions: PermissionEntry[];
|
|
33
|
+
};
|
|
34
|
+
export type UserAgentAccessAgent = {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
};
|
|
38
|
+
export type UserAgentAccess = {
|
|
39
|
+
scoped: boolean;
|
|
40
|
+
agentIds: string[];
|
|
41
|
+
availableAgents: UserAgentAccessAgent[];
|
|
42
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALL_PERMISSION_KEYS = void 0;
|
|
4
|
+
exports.ALL_PERMISSION_KEYS = [
|
|
5
|
+
'org.read',
|
|
6
|
+
'agent.read',
|
|
7
|
+
'agent.update',
|
|
8
|
+
'agent.delete',
|
|
9
|
+
'agent.chat',
|
|
10
|
+
'app.read',
|
|
11
|
+
'knowledge.read',
|
|
12
|
+
'knowledge.create',
|
|
13
|
+
'knowledge.update',
|
|
14
|
+
'knowledge.delete',
|
|
15
|
+
'knowledge.file.add',
|
|
16
|
+
'knowledge.file.delete',
|
|
17
|
+
'knowledge.file.download',
|
|
18
|
+
'skill.read',
|
|
19
|
+
'skill.create',
|
|
20
|
+
'skill.update',
|
|
21
|
+
'skill.delete',
|
|
22
|
+
'skill.file.add',
|
|
23
|
+
'skill.file.delete',
|
|
24
|
+
'moderation.read',
|
|
25
|
+
'moderation.create',
|
|
26
|
+
'moderation.update',
|
|
27
|
+
'moderation.delete',
|
|
28
|
+
'user.read',
|
|
29
|
+
'user.create',
|
|
30
|
+
'user.update',
|
|
31
|
+
'user.delete',
|
|
32
|
+
'engine.read',
|
|
33
|
+
'engine.create',
|
|
34
|
+
'engine.update',
|
|
35
|
+
'engine.delete',
|
|
36
|
+
'tool.read',
|
|
37
|
+
'tool.create',
|
|
38
|
+
'tool.update',
|
|
39
|
+
'tool.delete',
|
|
40
|
+
'flow.read',
|
|
41
|
+
];
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type RunStatus = 'pending' | 'running' | 'success' | 'error' | 'failed_permanently';
|
|
2
|
+
export type RunStep = {
|
|
3
|
+
type: 'llm_call' | 'tool_call' | 'tool_result' | 'llm_response';
|
|
4
|
+
at: string;
|
|
5
|
+
tool?: string;
|
|
6
|
+
input?: unknown;
|
|
7
|
+
output?: unknown;
|
|
8
|
+
tokens?: number;
|
|
9
|
+
error?: string;
|
|
10
|
+
};
|
|
11
|
+
export type ScheduledTaskRun = {
|
|
12
|
+
id: string;
|
|
13
|
+
taskId: string;
|
|
14
|
+
status: RunStatus;
|
|
15
|
+
prompt: string;
|
|
16
|
+
conversationId?: string;
|
|
17
|
+
triggeredAt: Date;
|
|
18
|
+
startedAt?: Date;
|
|
19
|
+
finishedAt?: Date;
|
|
20
|
+
claimedAt?: Date;
|
|
21
|
+
retryCount: number;
|
|
22
|
+
steps: RunStep[];
|
|
23
|
+
createdAt: Date;
|
|
24
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type TaskMode = 'once' | 'recurring';
|
|
2
|
+
export type TaskStatus = 'active' | 'paused' | 'done';
|
|
3
|
+
export type TaskFreq = 'minute' | 'interval' | 'daily' | 'weekly' | 'monthly' | 'cron';
|
|
4
|
+
export type IntervalUnit = 'minutes' | 'hours' | 'days';
|
|
5
|
+
export type TaskEndNever = {
|
|
6
|
+
type: 'never';
|
|
7
|
+
};
|
|
8
|
+
export type TaskEndCount = {
|
|
9
|
+
type: 'count';
|
|
10
|
+
count: number;
|
|
11
|
+
};
|
|
12
|
+
export type TaskEndDate = {
|
|
13
|
+
type: 'date';
|
|
14
|
+
date: string;
|
|
15
|
+
};
|
|
16
|
+
export type TaskEnd = TaskEndNever | TaskEndCount | TaskEndDate;
|
|
17
|
+
export type TaskSchedule = {
|
|
18
|
+
at?: string;
|
|
19
|
+
freq?: TaskFreq;
|
|
20
|
+
time?: string;
|
|
21
|
+
days?: number[];
|
|
22
|
+
dom?: number;
|
|
23
|
+
interval?: {
|
|
24
|
+
n: number;
|
|
25
|
+
unit: IntervalUnit;
|
|
26
|
+
};
|
|
27
|
+
cron?: string;
|
|
28
|
+
start?: string;
|
|
29
|
+
end?: TaskEnd;
|
|
30
|
+
};
|
|
31
|
+
export type ScheduledTask = {
|
|
32
|
+
id: string;
|
|
33
|
+
agentId: string;
|
|
34
|
+
organizationId: string;
|
|
35
|
+
name?: string;
|
|
36
|
+
message: string;
|
|
37
|
+
mode: TaskMode;
|
|
38
|
+
status: TaskStatus;
|
|
39
|
+
schedule: TaskSchedule;
|
|
40
|
+
cronExpression: string;
|
|
41
|
+
timezone: string;
|
|
42
|
+
lang: string;
|
|
43
|
+
callbackUrl?: string;
|
|
44
|
+
runCount: number;
|
|
45
|
+
nextRunAt?: Date;
|
|
46
|
+
endedAt?: Date;
|
|
47
|
+
createdAt: Date;
|
|
48
|
+
updatedAt: Date;
|
|
49
|
+
};
|
package/package.json
CHANGED
package/src/types/index.ts
CHANGED
|
@@ -9,5 +9,8 @@ export * from './knowledge';
|
|
|
9
9
|
export * from './organization';
|
|
10
10
|
export * from './user';
|
|
11
11
|
export * from './role';
|
|
12
|
+
export * from './permissions';
|
|
12
13
|
export * from './tool';
|
|
13
14
|
export * from './skill';
|
|
15
|
+
export * from './scheduled-task';
|
|
16
|
+
export * from './scheduled-task-run';
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { Organization } from './organization';
|
|
2
|
+
|
|
3
|
+
export type OrganizationPermissionKey = 'org.read';
|
|
4
|
+
|
|
5
|
+
export type AgentPermissionKey =
|
|
6
|
+
| 'agent.read'
|
|
7
|
+
| 'agent.update'
|
|
8
|
+
| 'agent.delete'
|
|
9
|
+
| 'agent.chat';
|
|
10
|
+
|
|
11
|
+
export type AppPermissionKey = 'app.read';
|
|
12
|
+
|
|
13
|
+
export type KnowledgePermissionKey =
|
|
14
|
+
| 'knowledge.read'
|
|
15
|
+
| 'knowledge.create'
|
|
16
|
+
| 'knowledge.update'
|
|
17
|
+
| 'knowledge.delete'
|
|
18
|
+
| 'knowledge.file.add'
|
|
19
|
+
| 'knowledge.file.delete'
|
|
20
|
+
| 'knowledge.file.download';
|
|
21
|
+
|
|
22
|
+
export type SkillPermissionKey =
|
|
23
|
+
| 'skill.read'
|
|
24
|
+
| 'skill.create'
|
|
25
|
+
| 'skill.update'
|
|
26
|
+
| 'skill.delete'
|
|
27
|
+
| 'skill.file.add'
|
|
28
|
+
| 'skill.file.delete';
|
|
29
|
+
|
|
30
|
+
export type ModerationPermissionKey =
|
|
31
|
+
| 'moderation.read'
|
|
32
|
+
| 'moderation.create'
|
|
33
|
+
| 'moderation.update'
|
|
34
|
+
| 'moderation.delete';
|
|
35
|
+
|
|
36
|
+
export type UserPermissionKey =
|
|
37
|
+
| 'user.read'
|
|
38
|
+
| 'user.create'
|
|
39
|
+
| 'user.update'
|
|
40
|
+
| 'user.delete';
|
|
41
|
+
|
|
42
|
+
export type EnginePermissionKey =
|
|
43
|
+
| 'engine.read'
|
|
44
|
+
| 'engine.create'
|
|
45
|
+
| 'engine.update'
|
|
46
|
+
| 'engine.delete';
|
|
47
|
+
|
|
48
|
+
export type ToolPermissionKey =
|
|
49
|
+
| 'tool.read'
|
|
50
|
+
| 'tool.create'
|
|
51
|
+
| 'tool.update'
|
|
52
|
+
| 'tool.delete';
|
|
53
|
+
|
|
54
|
+
export type FlowPermissionKey = 'flow.read';
|
|
55
|
+
|
|
56
|
+
export type PermissionKey =
|
|
57
|
+
| OrganizationPermissionKey
|
|
58
|
+
| AgentPermissionKey
|
|
59
|
+
| AppPermissionKey
|
|
60
|
+
| KnowledgePermissionKey
|
|
61
|
+
| SkillPermissionKey
|
|
62
|
+
| ModerationPermissionKey
|
|
63
|
+
| UserPermissionKey
|
|
64
|
+
| EnginePermissionKey
|
|
65
|
+
| ToolPermissionKey
|
|
66
|
+
| FlowPermissionKey;
|
|
67
|
+
|
|
68
|
+
export const ALL_PERMISSION_KEYS = [
|
|
69
|
+
'org.read',
|
|
70
|
+
'agent.read',
|
|
71
|
+
'agent.update',
|
|
72
|
+
'agent.delete',
|
|
73
|
+
'agent.chat',
|
|
74
|
+
'app.read',
|
|
75
|
+
'knowledge.read',
|
|
76
|
+
'knowledge.create',
|
|
77
|
+
'knowledge.update',
|
|
78
|
+
'knowledge.delete',
|
|
79
|
+
'knowledge.file.add',
|
|
80
|
+
'knowledge.file.delete',
|
|
81
|
+
'knowledge.file.download',
|
|
82
|
+
'skill.read',
|
|
83
|
+
'skill.create',
|
|
84
|
+
'skill.update',
|
|
85
|
+
'skill.delete',
|
|
86
|
+
'skill.file.add',
|
|
87
|
+
'skill.file.delete',
|
|
88
|
+
'moderation.read',
|
|
89
|
+
'moderation.create',
|
|
90
|
+
'moderation.update',
|
|
91
|
+
'moderation.delete',
|
|
92
|
+
'user.read',
|
|
93
|
+
'user.create',
|
|
94
|
+
'user.update',
|
|
95
|
+
'user.delete',
|
|
96
|
+
'engine.read',
|
|
97
|
+
'engine.create',
|
|
98
|
+
'engine.update',
|
|
99
|
+
'engine.delete',
|
|
100
|
+
'tool.read',
|
|
101
|
+
'tool.create',
|
|
102
|
+
'tool.update',
|
|
103
|
+
'tool.delete',
|
|
104
|
+
'flow.read',
|
|
105
|
+
] as const satisfies readonly PermissionKey[];
|
|
106
|
+
|
|
107
|
+
export type PermissionEntry = {
|
|
108
|
+
permission: PermissionKey;
|
|
109
|
+
allowed: boolean;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/** Rôle d'accès granulaire (distinct de `AgentRole`). */
|
|
113
|
+
export type AccessRole = {
|
|
114
|
+
id: string;
|
|
115
|
+
organizationId: Organization['id'];
|
|
116
|
+
name: string;
|
|
117
|
+
description: string;
|
|
118
|
+
slug?: string | null;
|
|
119
|
+
isSystem?: boolean;
|
|
120
|
+
createdAt: string;
|
|
121
|
+
permissions: PermissionEntry[];
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export type MemberPermissions = Partial<Record<PermissionKey, boolean>>;
|
|
125
|
+
|
|
126
|
+
export type UserAccess = {
|
|
127
|
+
roleIds: string[];
|
|
128
|
+
directPermissions: PermissionEntry[];
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
export type UserAgentAccessAgent = {
|
|
132
|
+
id: string;
|
|
133
|
+
name: string;
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export type UserAgentAccess = {
|
|
137
|
+
scoped: boolean;
|
|
138
|
+
agentIds: string[];
|
|
139
|
+
availableAgents: UserAgentAccessAgent[];
|
|
140
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type RunStatus =
|
|
2
|
+
| 'pending'
|
|
3
|
+
| 'running'
|
|
4
|
+
| 'success'
|
|
5
|
+
| 'error'
|
|
6
|
+
| 'failed_permanently';
|
|
7
|
+
|
|
8
|
+
export type RunStep = {
|
|
9
|
+
type: 'llm_call' | 'tool_call' | 'tool_result' | 'llm_response';
|
|
10
|
+
at: string;
|
|
11
|
+
tool?: string;
|
|
12
|
+
input?: unknown;
|
|
13
|
+
output?: unknown;
|
|
14
|
+
tokens?: number;
|
|
15
|
+
error?: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type ScheduledTaskRun = {
|
|
19
|
+
id: string;
|
|
20
|
+
taskId: string;
|
|
21
|
+
status: RunStatus;
|
|
22
|
+
prompt: string;
|
|
23
|
+
conversationId?: string;
|
|
24
|
+
triggeredAt: Date;
|
|
25
|
+
startedAt?: Date;
|
|
26
|
+
finishedAt?: Date;
|
|
27
|
+
claimedAt?: Date;
|
|
28
|
+
retryCount: number;
|
|
29
|
+
steps: RunStep[];
|
|
30
|
+
createdAt: Date;
|
|
31
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type TaskMode = 'once' | 'recurring';
|
|
2
|
+
export type TaskStatus = 'active' | 'paused' | 'done';
|
|
3
|
+
export type TaskFreq = 'minute' | 'interval' | 'daily' | 'weekly' | 'monthly' | 'cron';
|
|
4
|
+
export type IntervalUnit = 'minutes' | 'hours' | 'days';
|
|
5
|
+
|
|
6
|
+
export type TaskEndNever = { type: 'never' };
|
|
7
|
+
export type TaskEndCount = { type: 'count'; count: number };
|
|
8
|
+
export type TaskEndDate = { type: 'date'; date: string };
|
|
9
|
+
export type TaskEnd = TaskEndNever | TaskEndCount | TaskEndDate;
|
|
10
|
+
|
|
11
|
+
export type TaskSchedule = {
|
|
12
|
+
at?: string;
|
|
13
|
+
freq?: TaskFreq;
|
|
14
|
+
time?: string;
|
|
15
|
+
days?: number[];
|
|
16
|
+
dom?: number;
|
|
17
|
+
interval?: { n: number; unit: IntervalUnit };
|
|
18
|
+
cron?: string;
|
|
19
|
+
start?: string;
|
|
20
|
+
end?: TaskEnd;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type ScheduledTask = {
|
|
24
|
+
id: string;
|
|
25
|
+
agentId: string;
|
|
26
|
+
organizationId: string;
|
|
27
|
+
name?: string;
|
|
28
|
+
message: string;
|
|
29
|
+
mode: TaskMode;
|
|
30
|
+
status: TaskStatus;
|
|
31
|
+
schedule: TaskSchedule;
|
|
32
|
+
cronExpression: string;
|
|
33
|
+
timezone: string;
|
|
34
|
+
lang: string;
|
|
35
|
+
callbackUrl?: string;
|
|
36
|
+
runCount: number;
|
|
37
|
+
nextRunAt?: Date;
|
|
38
|
+
endedAt?: Date;
|
|
39
|
+
createdAt: Date;
|
|
40
|
+
updatedAt: Date;
|
|
41
|
+
};
|
|
42
|
+
|