modxdc 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +18 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/model/agent.model.d.ts +24 -0
  6. package/dist/model/agent.model.d.ts.map +1 -0
  7. package/dist/model/agent.model.js +148 -0
  8. package/dist/model/agent.model.js.map +1 -0
  9. package/dist/model/api-key.model.d.ts +26 -0
  10. package/dist/model/api-key.model.d.ts.map +1 -0
  11. package/dist/model/api-key.model.js +137 -0
  12. package/dist/model/api-key.model.js.map +1 -0
  13. package/dist/model/enums/index.d.ts +38 -0
  14. package/dist/model/enums/index.d.ts.map +1 -0
  15. package/dist/model/enums/index.js +49 -0
  16. package/dist/model/enums/index.js.map +1 -0
  17. package/dist/model/index.d.ts +15 -0
  18. package/dist/model/index.d.ts.map +1 -0
  19. package/dist/model/index.js +32 -0
  20. package/dist/model/index.js.map +1 -0
  21. package/dist/model/model-ai.model.d.ts +16 -0
  22. package/dist/model/model-ai.model.d.ts.map +1 -0
  23. package/dist/model/model-ai.model.js +99 -0
  24. package/dist/model/model-ai.model.js.map +1 -0
  25. package/dist/model/theme.model.d.ts +26 -0
  26. package/dist/model/theme.model.d.ts.map +1 -0
  27. package/dist/model/theme.model.js +198 -0
  28. package/dist/model/theme.model.js.map +1 -0
  29. package/dist/model/user.model.d.ts +22 -0
  30. package/dist/model/user.model.d.ts.map +1 -0
  31. package/dist/model/user.model.js +117 -0
  32. package/dist/model/user.model.js.map +1 -0
  33. package/dist/model/workspace.model.d.ts +26 -0
  34. package/dist/model/workspace.model.d.ts.map +1 -0
  35. package/dist/model/workspace.model.js +143 -0
  36. package/dist/model/workspace.model.js.map +1 -0
  37. package/package.json +38 -0
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ModelAi = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const agent_model_1 = require("./agent.model");
15
+ let ModelAi = class ModelAi extends sequelize_typescript_1.Model {
16
+ };
17
+ exports.ModelAi = ModelAi;
18
+ __decorate([
19
+ sequelize_typescript_1.PrimaryKey,
20
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
21
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
22
+ __metadata("design:type", String)
23
+ ], ModelAi.prototype, "id", void 0);
24
+ __decorate([
25
+ (0, sequelize_typescript_1.AllowNull)(true),
26
+ sequelize_typescript_1.Unique,
27
+ (0, sequelize_typescript_1.Column)({
28
+ type: sequelize_typescript_1.DataType.STRING(100),
29
+ comment: 'Unique identifier code, e.g., gpt-4, gpt-4.1, claude-3-opus',
30
+ }),
31
+ __metadata("design:type", String)
32
+ ], ModelAi.prototype, "code", void 0);
33
+ __decorate([
34
+ (0, sequelize_typescript_1.AllowNull)(true),
35
+ (0, sequelize_typescript_1.Column)({
36
+ type: sequelize_typescript_1.DataType.STRING(255),
37
+ comment: 'Display name, e.g., GPT-4, GPT-4.1, Claude 3 Opus',
38
+ }),
39
+ __metadata("design:type", String)
40
+ ], ModelAi.prototype, "name", void 0);
41
+ __decorate([
42
+ (0, sequelize_typescript_1.AllowNull)(true),
43
+ (0, sequelize_typescript_1.Column)({
44
+ type: sequelize_typescript_1.DataType.TEXT,
45
+ }),
46
+ __metadata("design:type", String)
47
+ ], ModelAi.prototype, "description", void 0);
48
+ __decorate([
49
+ (0, sequelize_typescript_1.AllowNull)(true),
50
+ (0, sequelize_typescript_1.Column)({
51
+ type: sequelize_typescript_1.DataType.STRING(100),
52
+ comment: 'Provider name, e.g., OpenAI, Anthropic, Google',
53
+ }),
54
+ __metadata("design:type", String)
55
+ ], ModelAi.prototype, "provider", void 0);
56
+ __decorate([
57
+ (0, sequelize_typescript_1.AllowNull)(true),
58
+ (0, sequelize_typescript_1.Default)(true),
59
+ (0, sequelize_typescript_1.Column)({
60
+ type: sequelize_typescript_1.DataType.BOOLEAN,
61
+ field: 'is_active',
62
+ }),
63
+ __metadata("design:type", Boolean)
64
+ ], ModelAi.prototype, "isActive", void 0);
65
+ __decorate([
66
+ sequelize_typescript_1.CreatedAt,
67
+ (0, sequelize_typescript_1.Column)({ field: 'created_at' }),
68
+ __metadata("design:type", Date)
69
+ ], ModelAi.prototype, "createdAt", void 0);
70
+ __decorate([
71
+ sequelize_typescript_1.UpdatedAt,
72
+ (0, sequelize_typescript_1.Column)({ field: 'updated_at' }),
73
+ __metadata("design:type", Date)
74
+ ], ModelAi.prototype, "updatedAt", void 0);
75
+ __decorate([
76
+ sequelize_typescript_1.DeletedAt,
77
+ (0, sequelize_typescript_1.Column)({ field: 'deleted_at' }),
78
+ __metadata("design:type", Date)
79
+ ], ModelAi.prototype, "deletedAt", void 0);
80
+ __decorate([
81
+ (0, sequelize_typescript_1.HasMany)(() => agent_model_1.Agent, 'modelAiId'),
82
+ __metadata("design:type", Array)
83
+ ], ModelAi.prototype, "agents", void 0);
84
+ exports.ModelAi = ModelAi = __decorate([
85
+ (0, sequelize_typescript_1.Table)({
86
+ tableName: 'model_ais',
87
+ paranoid: true,
88
+ timestamps: true,
89
+ indexes: [
90
+ {
91
+ name: 'model_ais_code_unique',
92
+ unique: true,
93
+ fields: ['code'],
94
+ },
95
+ ],
96
+ })
97
+ ], ModelAi);
98
+ exports.default = ModelAi;
99
+ //# sourceMappingURL=model-ai.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-ai.model.js","sourceRoot":"","sources":["../../src/model/model-ai.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAa6B;AAC7B,+CAAqC;AAoB9B,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,4BAAc;CA4D1C,CAAA;AA5DY,0BAAO;AAIlB;IAHC,iCAAU;IACV,IAAA,8BAAO,EAAC,+BAAQ,CAAC,MAAM,CAAC;IACxB,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;mCACX;AAQX;IANC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,6BAAM;IACN,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,6DAA6D;KACvE,CAAC;;qCACW;AAOb;IALC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,mDAAmD;KAC7D,CAAC;;qCACW;AAMb;IAJC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;KACpB,CAAC;;4CACkB;AAOpB;IALC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,OAAO,EAAE,gDAAgD;KAC1D,CAAC;;yCACe;AAQjB;IANC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,8BAAO,EAAC,IAAI,CAAC;IACb,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,KAAK,EAAE,WAAW;KACnB,CAAC;;yCACgB;AAIlB;IAFC,gCAAS;IACT,IAAA,6BAAM,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;8BACpB,IAAI;0CAAA;AAIhB;IAFC,gCAAS;IACT,IAAA,6BAAM,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;8BACpB,IAAI;0CAAA;AAIhB;IAFC,gCAAS;IACT,IAAA,6BAAM,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;8BACpB,IAAI;0CAAA;AAOhB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,mBAAK,EAAE,WAAW,CAAC;;uCAClB;kBA3DL,OAAO;IAZnB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC,MAAM,CAAC;aACjB;SACF;KACF,CAAC;GACW,OAAO,CA4DnB;AAED,kBAAe,OAAO,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { ThemePreset, ThemeMode, WidgetPosition } from './enums';
3
+ import { Workspace } from './workspace.model';
4
+ export declare class Theme extends Model<Theme> {
5
+ id: string;
6
+ workspaceId: string;
7
+ preset?: ThemePreset;
8
+ primaryColor: string;
9
+ secondaryColor: string;
10
+ backgroundColor?: string;
11
+ textColor: string;
12
+ fontFamily: string;
13
+ borderRadiusPx: number;
14
+ mode: ThemeMode;
15
+ position: WidgetPosition;
16
+ welcomeTitle: string;
17
+ welcomeSubtitle: string;
18
+ placeholderText: string;
19
+ metadata?: Record<string, unknown>;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ deletedAt?: Date;
23
+ workspace?: Workspace;
24
+ }
25
+ export default Theme;
26
+ //# sourceMappingURL=theme.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.model.d.ts","sourceRoot":"","sources":["../../src/model/theme.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAWN,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAc7C,qBAYa,KAAM,SAAQ,KAAK,CAAC,KAAK,CAAC;IAIrC,EAAE,EAAG,MAAM,CAAA;IASX,WAAW,EAAG,MAAM,CAAA;IAMpB,MAAM,CAAC,EAAE,WAAW,CAAA;IAepB,YAAY,EAAG,MAAM,CAAA;IAWrB,cAAc,EAAG,MAAM,CAAA;IAWvB,eAAe,CAAC,EAAE,MAAM,CAAA;IAWxB,SAAS,EAAG,MAAM,CAAA;IAYlB,UAAU,EAAG,MAAM,CAAA;IAYnB,cAAc,EAAG,MAAM,CAAA;IAWvB,IAAI,EAAG,SAAS,CAAA;IAOhB,QAAQ,EAAG,cAAc,CAAA;IAYzB,YAAY,EAAG,MAAM,CAAA;IAQrB,eAAe,EAAG,MAAM,CAAA;IAQxB,eAAe,EAAG,MAAM,CAAA;IAWxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAIlC,SAAS,EAAG,IAAI,CAAA;IAIhB,SAAS,EAAG,IAAI,CAAA;IAIhB,SAAS,CAAC,EAAE,IAAI,CAAA;IAOhB,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,eAAe,KAAK,CAAA"}
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Theme = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const enums_1 = require("./enums");
15
+ const workspace_model_1 = require("./workspace.model");
16
+ const HEX_COLOR_REGEX = /^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$/;
17
+ let Theme = class Theme extends sequelize_typescript_1.Model {
18
+ };
19
+ exports.Theme = Theme;
20
+ __decorate([
21
+ sequelize_typescript_1.PrimaryKey,
22
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
23
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
24
+ __metadata("design:type", String)
25
+ ], Theme.prototype, "id", void 0);
26
+ __decorate([
27
+ (0, sequelize_typescript_1.ForeignKey)(() => workspace_model_1.Workspace),
28
+ (0, sequelize_typescript_1.AllowNull)(true),
29
+ sequelize_typescript_1.Unique,
30
+ (0, sequelize_typescript_1.Column)({
31
+ type: sequelize_typescript_1.DataType.UUID,
32
+ field: 'workspace_id',
33
+ }),
34
+ __metadata("design:type", String)
35
+ ], Theme.prototype, "workspaceId", void 0);
36
+ __decorate([
37
+ (0, sequelize_typescript_1.AllowNull)(true),
38
+ (0, sequelize_typescript_1.Column)({
39
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(enums_1.ThemePreset)),
40
+ }),
41
+ __metadata("design:type", String)
42
+ ], Theme.prototype, "preset", void 0);
43
+ __decorate([
44
+ (0, sequelize_typescript_1.AllowNull)(true),
45
+ (0, sequelize_typescript_1.Default)('#6366f1'),
46
+ (0, sequelize_typescript_1.Column)({
47
+ type: sequelize_typescript_1.DataType.STRING(9),
48
+ field: 'primary_color',
49
+ validate: {
50
+ is: HEX_COLOR_REGEX,
51
+ },
52
+ }),
53
+ __metadata("design:type", String)
54
+ ], Theme.prototype, "primaryColor", void 0);
55
+ __decorate([
56
+ (0, sequelize_typescript_1.AllowNull)(true),
57
+ (0, sequelize_typescript_1.Default)('#8b5cf6'),
58
+ (0, sequelize_typescript_1.Column)({
59
+ type: sequelize_typescript_1.DataType.STRING(9),
60
+ field: 'secondary_color',
61
+ validate: {
62
+ is: HEX_COLOR_REGEX,
63
+ },
64
+ }),
65
+ __metadata("design:type", String)
66
+ ], Theme.prototype, "secondaryColor", void 0);
67
+ __decorate([
68
+ (0, sequelize_typescript_1.AllowNull)(true),
69
+ (0, sequelize_typescript_1.Default)('#0b1220'),
70
+ (0, sequelize_typescript_1.Column)({
71
+ type: sequelize_typescript_1.DataType.STRING(9),
72
+ field: 'background_color',
73
+ validate: {
74
+ is: HEX_COLOR_REGEX,
75
+ },
76
+ }),
77
+ __metadata("design:type", String)
78
+ ], Theme.prototype, "backgroundColor", void 0);
79
+ __decorate([
80
+ (0, sequelize_typescript_1.AllowNull)(true),
81
+ (0, sequelize_typescript_1.Default)('#f1f5f9'),
82
+ (0, sequelize_typescript_1.Column)({
83
+ type: sequelize_typescript_1.DataType.STRING(9),
84
+ field: 'text_color',
85
+ validate: {
86
+ is: HEX_COLOR_REGEX,
87
+ },
88
+ }),
89
+ __metadata("design:type", String)
90
+ ], Theme.prototype, "textColor", void 0);
91
+ __decorate([
92
+ (0, sequelize_typescript_1.AllowNull)(true),
93
+ (0, sequelize_typescript_1.Default)('Inter'),
94
+ (0, sequelize_typescript_1.Column)({
95
+ type: sequelize_typescript_1.DataType.STRING(100),
96
+ field: 'font_family',
97
+ }),
98
+ __metadata("design:type", String)
99
+ ], Theme.prototype, "fontFamily", void 0);
100
+ __decorate([
101
+ (0, sequelize_typescript_1.AllowNull)(true),
102
+ (0, sequelize_typescript_1.Default)(16),
103
+ (0, sequelize_typescript_1.Column)({
104
+ type: sequelize_typescript_1.DataType.INTEGER,
105
+ field: 'border_radius_px',
106
+ validate: {
107
+ min: 0,
108
+ max: 100,
109
+ },
110
+ }),
111
+ __metadata("design:type", Number)
112
+ ], Theme.prototype, "borderRadiusPx", void 0);
113
+ __decorate([
114
+ (0, sequelize_typescript_1.AllowNull)(true),
115
+ (0, sequelize_typescript_1.Default)(enums_1.ThemeMode.DARK),
116
+ (0, sequelize_typescript_1.Column)({
117
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(enums_1.ThemeMode)),
118
+ }),
119
+ __metadata("design:type", String)
120
+ ], Theme.prototype, "mode", void 0);
121
+ __decorate([
122
+ (0, sequelize_typescript_1.AllowNull)(true),
123
+ (0, sequelize_typescript_1.Default)(enums_1.WidgetPosition.BOTTOM_RIGHT),
124
+ (0, sequelize_typescript_1.Column)({
125
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(enums_1.WidgetPosition)),
126
+ }),
127
+ __metadata("design:type", String)
128
+ ], Theme.prototype, "position", void 0);
129
+ __decorate([
130
+ (0, sequelize_typescript_1.AllowNull)(true),
131
+ (0, sequelize_typescript_1.Default)('Hello'),
132
+ (0, sequelize_typescript_1.Column)({
133
+ type: sequelize_typescript_1.DataType.STRING(255),
134
+ field: 'welcome_title',
135
+ }),
136
+ __metadata("design:type", String)
137
+ ], Theme.prototype, "welcomeTitle", void 0);
138
+ __decorate([
139
+ (0, sequelize_typescript_1.AllowNull)(true),
140
+ (0, sequelize_typescript_1.Default)('How can I help you today?'),
141
+ (0, sequelize_typescript_1.Column)({
142
+ type: sequelize_typescript_1.DataType.STRING(500),
143
+ field: 'welcome_subtitle',
144
+ }),
145
+ __metadata("design:type", String)
146
+ ], Theme.prototype, "welcomeSubtitle", void 0);
147
+ __decorate([
148
+ (0, sequelize_typescript_1.AllowNull)(true),
149
+ (0, sequelize_typescript_1.Default)('Ask me anything...'),
150
+ (0, sequelize_typescript_1.Column)({
151
+ type: sequelize_typescript_1.DataType.STRING(255),
152
+ field: 'placeholder_text',
153
+ }),
154
+ __metadata("design:type", String)
155
+ ], Theme.prototype, "placeholderText", void 0);
156
+ __decorate([
157
+ (0, sequelize_typescript_1.AllowNull)(true),
158
+ (0, sequelize_typescript_1.Column)({
159
+ type: sequelize_typescript_1.DataType.JSONB,
160
+ comment: 'Future-proof extensibility field',
161
+ }),
162
+ __metadata("design:type", Object)
163
+ ], Theme.prototype, "metadata", void 0);
164
+ __decorate([
165
+ sequelize_typescript_1.CreatedAt,
166
+ (0, sequelize_typescript_1.Column)({ field: 'created_at' }),
167
+ __metadata("design:type", Date)
168
+ ], Theme.prototype, "createdAt", void 0);
169
+ __decorate([
170
+ sequelize_typescript_1.UpdatedAt,
171
+ (0, sequelize_typescript_1.Column)({ field: 'updated_at' }),
172
+ __metadata("design:type", Date)
173
+ ], Theme.prototype, "updatedAt", void 0);
174
+ __decorate([
175
+ sequelize_typescript_1.DeletedAt,
176
+ (0, sequelize_typescript_1.Column)({ field: 'deleted_at' }),
177
+ __metadata("design:type", Date)
178
+ ], Theme.prototype, "deletedAt", void 0);
179
+ __decorate([
180
+ (0, sequelize_typescript_1.BelongsTo)(() => workspace_model_1.Workspace, 'workspaceId'),
181
+ __metadata("design:type", workspace_model_1.Workspace)
182
+ ], Theme.prototype, "workspace", void 0);
183
+ exports.Theme = Theme = __decorate([
184
+ (0, sequelize_typescript_1.Table)({
185
+ tableName: 'themes',
186
+ paranoid: true,
187
+ timestamps: true,
188
+ indexes: [
189
+ {
190
+ name: 'themes_workspace_id_unique',
191
+ unique: true,
192
+ fields: ['workspace_id'],
193
+ },
194
+ ],
195
+ })
196
+ ], Theme);
197
+ exports.default = Theme;
198
+ //# sourceMappingURL=theme.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.model.js","sourceRoot":"","sources":["../../src/model/theme.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { UserStatus } from './enums';
3
+ import type { Workspace } from './workspace.model';
4
+ import type { Agent } from './agent.model';
5
+ import type { ApiKey } from './api-key.model';
6
+ export declare class User extends Model<User> {
7
+ id: string;
8
+ fullName: string;
9
+ email: string;
10
+ companyName?: string;
11
+ passwordHash: string;
12
+ status: UserStatus;
13
+ lastLoginAt?: Date;
14
+ createdAt: Date;
15
+ updatedAt: Date;
16
+ deletedAt?: Date;
17
+ workspaces?: Workspace[];
18
+ createdAgents?: Agent[];
19
+ createdApiKeys?: ApiKey[];
20
+ }
21
+ export default User;
22
+ //# sourceMappingURL=user.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.model.d.ts","sourceRoot":"","sources":["../../src/model/user.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAUN,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAQ7C,qBAYa,IAAK,SAAQ,KAAK,CAAC,IAAI,CAAC;IAInC,EAAE,EAAG,MAAM,CAAA;IAOX,QAAQ,EAAG,MAAM,CAAA;IAUjB,KAAK,EAAG,MAAM,CAAA;IAOd,WAAW,CAAC,EAAE,MAAM,CAAA;IAOpB,YAAY,EAAG,MAAM,CAAA;IAOrB,MAAM,EAAG,UAAU,CAAA;IAOnB,WAAW,CAAC,EAAE,IAAI,CAAA;IAIlB,SAAS,EAAG,IAAI,CAAA;IAIhB,SAAS,EAAG,IAAI,CAAA;IAIhB,SAAS,CAAC,EAAE,IAAI,CAAA;IAOhB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IAGxB,aAAa,CAAC,EAAE,KAAK,EAAE,CAAA;IAGvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.User = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const enums_1 = require("./enums");
15
+ let User = class User extends sequelize_typescript_1.Model {
16
+ };
17
+ exports.User = User;
18
+ __decorate([
19
+ sequelize_typescript_1.PrimaryKey,
20
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
21
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
22
+ __metadata("design:type", String)
23
+ ], User.prototype, "id", void 0);
24
+ __decorate([
25
+ (0, sequelize_typescript_1.AllowNull)(true),
26
+ (0, sequelize_typescript_1.Column)({
27
+ type: sequelize_typescript_1.DataType.STRING(255),
28
+ field: 'full_name',
29
+ }),
30
+ __metadata("design:type", String)
31
+ ], User.prototype, "fullName", void 0);
32
+ __decorate([
33
+ (0, sequelize_typescript_1.AllowNull)(true),
34
+ sequelize_typescript_1.Unique,
35
+ (0, sequelize_typescript_1.Column)({
36
+ type: sequelize_typescript_1.DataType.STRING(255),
37
+ validate: {
38
+ isEmail: true,
39
+ },
40
+ }),
41
+ __metadata("design:type", String)
42
+ ], User.prototype, "email", void 0);
43
+ __decorate([
44
+ (0, sequelize_typescript_1.AllowNull)(true),
45
+ (0, sequelize_typescript_1.Column)({
46
+ type: sequelize_typescript_1.DataType.STRING(255),
47
+ field: 'company_name',
48
+ }),
49
+ __metadata("design:type", String)
50
+ ], User.prototype, "companyName", void 0);
51
+ __decorate([
52
+ (0, sequelize_typescript_1.AllowNull)(true),
53
+ (0, sequelize_typescript_1.Column)({
54
+ type: sequelize_typescript_1.DataType.STRING(255),
55
+ field: 'password_hash',
56
+ }),
57
+ __metadata("design:type", String)
58
+ ], User.prototype, "passwordHash", void 0);
59
+ __decorate([
60
+ (0, sequelize_typescript_1.AllowNull)(true),
61
+ (0, sequelize_typescript_1.Default)(enums_1.UserStatus.ACTIVE),
62
+ (0, sequelize_typescript_1.Column)({
63
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(enums_1.UserStatus)),
64
+ }),
65
+ __metadata("design:type", String)
66
+ ], User.prototype, "status", void 0);
67
+ __decorate([
68
+ (0, sequelize_typescript_1.AllowNull)(true),
69
+ (0, sequelize_typescript_1.Column)({
70
+ type: sequelize_typescript_1.DataType.DATE,
71
+ field: 'last_login_at',
72
+ }),
73
+ __metadata("design:type", Date)
74
+ ], User.prototype, "lastLoginAt", void 0);
75
+ __decorate([
76
+ sequelize_typescript_1.CreatedAt,
77
+ (0, sequelize_typescript_1.Column)({ field: 'created_at' }),
78
+ __metadata("design:type", Date)
79
+ ], User.prototype, "createdAt", void 0);
80
+ __decorate([
81
+ sequelize_typescript_1.UpdatedAt,
82
+ (0, sequelize_typescript_1.Column)({ field: 'updated_at' }),
83
+ __metadata("design:type", Date)
84
+ ], User.prototype, "updatedAt", void 0);
85
+ __decorate([
86
+ sequelize_typescript_1.DeletedAt,
87
+ (0, sequelize_typescript_1.Column)({ field: 'deleted_at' }),
88
+ __metadata("design:type", Date)
89
+ ], User.prototype, "deletedAt", void 0);
90
+ __decorate([
91
+ (0, sequelize_typescript_1.HasMany)(() => require('./workspace.model').Workspace, 'ownerUserId'),
92
+ __metadata("design:type", Array)
93
+ ], User.prototype, "workspaces", void 0);
94
+ __decorate([
95
+ (0, sequelize_typescript_1.HasMany)(() => require('./agent.model').Agent, 'createdByUserId'),
96
+ __metadata("design:type", Array)
97
+ ], User.prototype, "createdAgents", void 0);
98
+ __decorate([
99
+ (0, sequelize_typescript_1.HasMany)(() => require('./api-key.model').ApiKey, 'createdByUserId'),
100
+ __metadata("design:type", Array)
101
+ ], User.prototype, "createdApiKeys", void 0);
102
+ exports.User = User = __decorate([
103
+ (0, sequelize_typescript_1.Table)({
104
+ tableName: 'users',
105
+ paranoid: true,
106
+ timestamps: true,
107
+ indexes: [
108
+ {
109
+ name: 'users_email_lower_unique',
110
+ unique: true,
111
+ fields: [{ name: 'email' }],
112
+ },
113
+ ],
114
+ })
115
+ ], User);
116
+ exports.default = User;
117
+ //# sourceMappingURL=user.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../src/model/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAa6B;AAC7B,mCAAoC;AAyB7B,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,4BAAW;CA2EpC,CAAA;AA3EY,oBAAI;AAIf;IAHC,iCAAU;IACV,IAAA,8BAAO,EAAC,+BAAQ,CAAC,MAAM,CAAC;IACxB,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;gCACX;AAOX;IALC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,KAAK,EAAE,WAAW;KACnB,CAAC;;sCACe;AAUjB;IARC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,6BAAM;IACN,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,QAAQ,EAAE;YACR,OAAO,EAAE,IAAI;SACd;KACF,CAAC;;mCACY;AAOd;IALC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,KAAK,EAAE,cAAc;KACtB,CAAC;;yCACkB;AAOpB;IALC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC;QAC1B,KAAK,EAAE,eAAe;KACvB,CAAC;;0CACmB;AAOrB;IALC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,8BAAO,EAAC,kBAAU,CAAC,MAAM,CAAC;IAC1B,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;KAClD,CAAC;;oCACiB;AAOnB;IALC,IAAA,gCAAS,EAAC,IAAI,CAAC;IACf,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,IAAI;QACnB,KAAK,EAAE,eAAe;KACvB,CAAC;8BACY,IAAI;yCAAA;AAIlB;IAFC,gCAAS;IACT,IAAA,6BAAM,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;8BACpB,IAAI;uCAAA;AAIhB;IAFC,gCAAS;IACT,IAAA,6BAAM,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;8BACpB,IAAI;uCAAA;AAIhB;IAFC,gCAAS;IACT,IAAA,6BAAM,EAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;8BACpB,IAAI;uCAAA;AAOhB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC;;wCAC7C;AAGxB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC;;2CAC1C;AAGvB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,iBAAiB,CAAC;;4CAC3C;eA1Ed,IAAI;IAZhB,IAAA,4BAAK,EAAC;QACL,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,0BAA0B;gBAChC,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aAC5B;SACF;KACF,CAAC;GACW,IAAI,CA2EhB;AAED,kBAAe,IAAI,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { WorkspaceEnvironment, WorkspacePlan } from './enums';
3
+ import { User } from './user.model';
4
+ import type { Agent } from './agent.model';
5
+ import type { Theme } from './theme.model';
6
+ import type { ApiKey } from './api-key.model';
7
+ export declare class Workspace extends Model<Workspace> {
8
+ id: string;
9
+ ownerUserId: string;
10
+ name: string;
11
+ businessCategory: string;
12
+ environment: WorkspaceEnvironment;
13
+ plan: WorkspacePlan;
14
+ planPriceMonthly?: number;
15
+ isActive: boolean;
16
+ proxyWhitelist?: string[];
17
+ createdAt: Date;
18
+ updatedAt: Date;
19
+ deletedAt?: Date;
20
+ owner?: User;
21
+ agents?: Agent[];
22
+ theme?: Theme;
23
+ apiKeys?: ApiKey[];
24
+ }
25
+ export default Workspace;
26
+ //# sourceMappingURL=workspace.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.model.d.ts","sourceRoot":"","sources":["../../src/model/workspace.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAYN,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAS7C,qBAgBa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC;IAI7C,EAAE,EAAG,MAAM,CAAA;IAQX,WAAW,EAAG,MAAM,CAAA;IAMpB,IAAI,EAAG,MAAM,CAAA;IAOb,gBAAgB,EAAG,MAAM,CAAA;IAOzB,WAAW,EAAG,oBAAoB,CAAA;IAOlC,IAAI,EAAG,aAAa,CAAA;IAQpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAQzB,QAAQ,EAAG,OAAO,CAAA;IAUlB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IAIzB,SAAS,EAAG,IAAI,CAAA;IAIhB,SAAS,EAAG,IAAI,CAAA;IAIhB,SAAS,CAAC,EAAE,IAAI,CAAA;IAOhB,KAAK,CAAC,EAAE,IAAI,CAAA;IAGZ,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAGhB,KAAK,CAAC,EAAE,KAAK,CAAA;IAGb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Workspace = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const enums_1 = require("./enums");
15
+ const user_model_1 = require("./user.model");
16
+ let Workspace = class Workspace extends sequelize_typescript_1.Model {
17
+ };
18
+ exports.Workspace = Workspace;
19
+ __decorate([
20
+ sequelize_typescript_1.PrimaryKey,
21
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
22
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
23
+ __metadata("design:type", String)
24
+ ], Workspace.prototype, "id", void 0);
25
+ __decorate([
26
+ (0, sequelize_typescript_1.ForeignKey)(() => user_model_1.User),
27
+ (0, sequelize_typescript_1.AllowNull)(true),
28
+ (0, sequelize_typescript_1.Column)({
29
+ type: sequelize_typescript_1.DataType.UUID,
30
+ field: 'owner_user_id',
31
+ }),
32
+ __metadata("design:type", String)
33
+ ], Workspace.prototype, "ownerUserId", void 0);
34
+ __decorate([
35
+ (0, sequelize_typescript_1.AllowNull)(true),
36
+ (0, sequelize_typescript_1.Column)({
37
+ type: sequelize_typescript_1.DataType.STRING(255),
38
+ }),
39
+ __metadata("design:type", String)
40
+ ], Workspace.prototype, "name", void 0);
41
+ __decorate([
42
+ (0, sequelize_typescript_1.AllowNull)(true),
43
+ (0, sequelize_typescript_1.Column)({
44
+ type: sequelize_typescript_1.DataType.STRING(255),
45
+ field: 'business_category',
46
+ }),
47
+ __metadata("design:type", String)
48
+ ], Workspace.prototype, "businessCategory", void 0);
49
+ __decorate([
50
+ (0, sequelize_typescript_1.AllowNull)(true),
51
+ (0, sequelize_typescript_1.Default)(enums_1.WorkspaceEnvironment.PRODUCTION),
52
+ (0, sequelize_typescript_1.Column)({
53
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(enums_1.WorkspaceEnvironment)),
54
+ }),
55
+ __metadata("design:type", String)
56
+ ], Workspace.prototype, "environment", void 0);
57
+ __decorate([
58
+ (0, sequelize_typescript_1.AllowNull)(true),
59
+ (0, sequelize_typescript_1.Default)(enums_1.WorkspacePlan.FREE),
60
+ (0, sequelize_typescript_1.Column)({
61
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(enums_1.WorkspacePlan)),
62
+ }),
63
+ __metadata("design:type", String)
64
+ ], Workspace.prototype, "plan", void 0);
65
+ __decorate([
66
+ (0, sequelize_typescript_1.AllowNull)(true),
67
+ (0, sequelize_typescript_1.Column)({
68
+ type: sequelize_typescript_1.DataType.INTEGER,
69
+ field: 'plan_price_monthly',
70
+ comment: 'Plan price in cents',
71
+ }),
72
+ __metadata("design:type", Number)
73
+ ], Workspace.prototype, "planPriceMonthly", void 0);
74
+ __decorate([
75
+ (0, sequelize_typescript_1.AllowNull)(true),
76
+ (0, sequelize_typescript_1.Default)(true),
77
+ (0, sequelize_typescript_1.Column)({
78
+ type: sequelize_typescript_1.DataType.BOOLEAN,
79
+ field: 'is_active',
80
+ }),
81
+ __metadata("design:type", Boolean)
82
+ ], Workspace.prototype, "isActive", void 0);
83
+ __decorate([
84
+ (0, sequelize_typescript_1.AllowNull)(true),
85
+ (0, sequelize_typescript_1.Default)([]),
86
+ (0, sequelize_typescript_1.Column)({
87
+ type: sequelize_typescript_1.DataType.JSONB,
88
+ field: 'proxy_whitelist',
89
+ comment: 'Array of allowed IPs or domains for access control, e.g., ["192.168.1.1", "example.com"]',
90
+ }),
91
+ __metadata("design:type", Array)
92
+ ], Workspace.prototype, "proxyWhitelist", void 0);
93
+ __decorate([
94
+ sequelize_typescript_1.CreatedAt,
95
+ (0, sequelize_typescript_1.Column)({ field: 'created_at' }),
96
+ __metadata("design:type", Date)
97
+ ], Workspace.prototype, "createdAt", void 0);
98
+ __decorate([
99
+ sequelize_typescript_1.UpdatedAt,
100
+ (0, sequelize_typescript_1.Column)({ field: 'updated_at' }),
101
+ __metadata("design:type", Date)
102
+ ], Workspace.prototype, "updatedAt", void 0);
103
+ __decorate([
104
+ sequelize_typescript_1.DeletedAt,
105
+ (0, sequelize_typescript_1.Column)({ field: 'deleted_at' }),
106
+ __metadata("design:type", Date)
107
+ ], Workspace.prototype, "deletedAt", void 0);
108
+ __decorate([
109
+ (0, sequelize_typescript_1.BelongsTo)(() => user_model_1.User, 'ownerUserId'),
110
+ __metadata("design:type", user_model_1.User)
111
+ ], Workspace.prototype, "owner", void 0);
112
+ __decorate([
113
+ (0, sequelize_typescript_1.HasMany)(() => require('./agent.model').Agent, 'workspaceId'),
114
+ __metadata("design:type", Array)
115
+ ], Workspace.prototype, "agents", void 0);
116
+ __decorate([
117
+ (0, sequelize_typescript_1.HasOne)(() => require('./theme.model').Theme, 'workspaceId'),
118
+ __metadata("design:type", Function)
119
+ ], Workspace.prototype, "theme", void 0);
120
+ __decorate([
121
+ (0, sequelize_typescript_1.HasMany)(() => require('./api-key.model').ApiKey, 'workspaceId'),
122
+ __metadata("design:type", Array)
123
+ ], Workspace.prototype, "apiKeys", void 0);
124
+ exports.Workspace = Workspace = __decorate([
125
+ (0, sequelize_typescript_1.Table)({
126
+ tableName: 'workspaces',
127
+ paranoid: true,
128
+ timestamps: true,
129
+ indexes: [
130
+ {
131
+ name: 'workspaces_owner_user_id_idx',
132
+ fields: ['owner_user_id'],
133
+ },
134
+ {
135
+ name: 'workspaces_owner_name_unique',
136
+ unique: true,
137
+ fields: ['owner_user_id', { name: 'name' }],
138
+ },
139
+ ],
140
+ })
141
+ ], Workspace);
142
+ exports.default = Workspace;
143
+ //# sourceMappingURL=workspace.model.js.map