@breign/db-schemas 0.1.37 → 0.1.39

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.
@@ -9,6 +9,7 @@ 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';
14
15
  export * from './scheduled-task';
@@ -25,6 +25,7 @@ __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);
30
31
  __exportStar(require("./scheduled-task"), 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
+ ];
@@ -43,6 +43,7 @@ export type ScheduledTask = {
43
43
  callbackUrl?: string;
44
44
  runCount: number;
45
45
  nextRunAt?: Date;
46
+ claimedAt?: Date;
46
47
  endedAt?: Date;
47
48
  createdAt: Date;
48
49
  updatedAt: Date;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@breign/db-schemas",
3
- "version": "0.1.37",
3
+ "version": "0.1.39",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -9,6 +9,7 @@ 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';
14
15
  export * from './scheduled-task';
@@ -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
+ };
@@ -35,6 +35,7 @@ export type ScheduledTask = {
35
35
  callbackUrl?: string;
36
36
  runCount: number;
37
37
  nextRunAt?: Date;
38
+ claimedAt?: Date;
38
39
  endedAt?: Date;
39
40
  createdAt: Date;
40
41
  updatedAt: Date;