@ntalmagor/3drise-common 1.0.5 → 1.0.7

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/build/index.d.ts CHANGED
@@ -1,10 +1,15 @@
1
1
  export { default as express } from 'express';
2
2
  export type { Request, Response, NextFunction, Application, Router } from 'express';
3
3
  export * from 'express-validator';
4
+ export * from 'sequelize-typescript';
5
+ export * from 'uuid';
6
+ export * from 'reflect-metadata';
7
+ export * from 'mysql2/promise';
4
8
  export { default as jwt } from 'jsonwebtoken';
5
9
  export type { JwtPayload, SignOptions, VerifyOptions } from 'jsonwebtoken';
6
10
  export { default as session } from 'cookie-session';
7
11
  export { default as sequelize } from './database';
12
+ export * from './models/index';
8
13
  export type { RedisType } from './utils/redisClient';
9
14
  export * from './errors/bad-request-error';
10
15
  export * from './errors/custom-error';
package/build/index.js CHANGED
@@ -22,6 +22,10 @@ exports.sequelize = exports.session = exports.jwt = exports.express = void 0;
22
22
  var express_1 = require("express");
23
23
  Object.defineProperty(exports, "express", { enumerable: true, get: function () { return __importDefault(express_1).default; } });
24
24
  __exportStar(require("express-validator"), exports);
25
+ __exportStar(require("sequelize-typescript"), exports);
26
+ __exportStar(require("uuid"), exports);
27
+ __exportStar(require("reflect-metadata"), exports);
28
+ __exportStar(require("mysql2/promise"), exports);
25
29
  var jsonwebtoken_1 = require("jsonwebtoken");
26
30
  Object.defineProperty(exports, "jwt", { enumerable: true, get: function () { return __importDefault(jsonwebtoken_1).default; } });
27
31
  var cookie_session_1 = require("cookie-session");
@@ -29,6 +33,7 @@ Object.defineProperty(exports, "session", { enumerable: true, get: function () {
29
33
  // export { default as getRedisClient } from './utils/redisClient';
30
34
  var database_1 = require("./database");
31
35
  Object.defineProperty(exports, "sequelize", { enumerable: true, get: function () { return __importDefault(database_1).default; } });
36
+ __exportStar(require("./models/index"), exports);
32
37
  __exportStar(require("./errors/bad-request-error"), exports);
33
38
  __exportStar(require("./errors/custom-error"), exports);
34
39
  __exportStar(require("./errors/database-connection-error"), exports);
@@ -0,0 +1,53 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { User } from './User';
3
+ export declare enum AssetType {
4
+ MODEL = "model",
5
+ TEXTURE = "texture",
6
+ AUDIO = "audio",
7
+ MATERIAL = "material",
8
+ IMAGE = "image",
9
+ UI_TEMPLATE = "ui_template",
10
+ GALLERY = "gallery",
11
+ HDR = "hdr",
12
+ ANIMATION = "animation",
13
+ PATH = "path",
14
+ SCREENSHOT = "screenshot"
15
+ }
16
+ export type AssetPayload = {
17
+ creatorId: string;
18
+ projectId?: string;
19
+ name?: string;
20
+ type?: AssetType;
21
+ description?: string;
22
+ path?: string;
23
+ price?: number;
24
+ privacy?: Privacy;
25
+ vertex?: string;
26
+ fragment?: string;
27
+ uniforms?: object;
28
+ url?: string;
29
+ settings?: object[];
30
+ fileSize?: number;
31
+ };
32
+ export declare enum Privacy {
33
+ PUBLIC = "public",
34
+ PRIVATE = "private"
35
+ }
36
+ export declare class Asset extends Model {
37
+ id: string;
38
+ name: string;
39
+ type: AssetType;
40
+ url: string;
41
+ creatorId: string;
42
+ price?: number;
43
+ privacy: Privacy;
44
+ description?: string;
45
+ vertex?: string;
46
+ fragment?: string;
47
+ uniforms?: object;
48
+ settings?: object[];
49
+ fileSize?: number;
50
+ createdAt: Date;
51
+ updatedAt: Date;
52
+ creator: User;
53
+ }
@@ -0,0 +1,129 @@
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.Asset = exports.Privacy = exports.AssetType = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const User_1 = require("./User");
15
+ var AssetType;
16
+ (function (AssetType) {
17
+ AssetType["MODEL"] = "model";
18
+ AssetType["TEXTURE"] = "texture";
19
+ AssetType["AUDIO"] = "audio";
20
+ AssetType["MATERIAL"] = "material";
21
+ AssetType["IMAGE"] = "image";
22
+ AssetType["UI_TEMPLATE"] = "ui_template";
23
+ AssetType["GALLERY"] = "gallery";
24
+ AssetType["HDR"] = "hdr";
25
+ AssetType["ANIMATION"] = "animation";
26
+ AssetType["PATH"] = "path";
27
+ AssetType["SCREENSHOT"] = "screenshot";
28
+ })(AssetType || (exports.AssetType = AssetType = {}));
29
+ var Privacy;
30
+ (function (Privacy) {
31
+ Privacy["PUBLIC"] = "public";
32
+ Privacy["PRIVATE"] = "private";
33
+ })(Privacy || (exports.Privacy = Privacy = {}));
34
+ let Asset = class Asset extends sequelize_typescript_1.Model {
35
+ };
36
+ exports.Asset = Asset;
37
+ __decorate([
38
+ sequelize_typescript_1.PrimaryKey,
39
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
40
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
41
+ __metadata("design:type", String)
42
+ ], Asset.prototype, "id", void 0);
43
+ __decorate([
44
+ (0, sequelize_typescript_1.AllowNull)(false),
45
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(255)),
46
+ __metadata("design:type", String)
47
+ ], Asset.prototype, "name", void 0);
48
+ __decorate([
49
+ (0, sequelize_typescript_1.AllowNull)(false),
50
+ (0, sequelize_typescript_1.Column)({
51
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(AssetType)),
52
+ }),
53
+ __metadata("design:type", String)
54
+ ], Asset.prototype, "type", void 0);
55
+ __decorate([
56
+ (0, sequelize_typescript_1.AllowNull)(true),
57
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
58
+ __metadata("design:type", String)
59
+ ], Asset.prototype, "url", void 0);
60
+ __decorate([
61
+ (0, sequelize_typescript_1.ForeignKey)(() => User_1.User),
62
+ (0, sequelize_typescript_1.AllowNull)(false),
63
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
64
+ __metadata("design:type", String)
65
+ ], Asset.prototype, "creatorId", void 0);
66
+ __decorate([
67
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DECIMAL(10, 2)),
68
+ __metadata("design:type", Number)
69
+ ], Asset.prototype, "price", void 0);
70
+ __decorate([
71
+ (0, sequelize_typescript_1.Column)({
72
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(Privacy)),
73
+ defaultValue: Privacy.PRIVATE,
74
+ }),
75
+ __metadata("design:type", String)
76
+ ], Asset.prototype, "privacy", void 0);
77
+ __decorate([
78
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
79
+ __metadata("design:type", String)
80
+ ], Asset.prototype, "description", void 0);
81
+ __decorate([
82
+ (0, sequelize_typescript_1.AllowNull)(true),
83
+ (0, sequelize_typescript_1.Default)(null),
84
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
85
+ __metadata("design:type", String)
86
+ ], Asset.prototype, "vertex", void 0);
87
+ __decorate([
88
+ (0, sequelize_typescript_1.AllowNull)(true),
89
+ (0, sequelize_typescript_1.Default)(null),
90
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
91
+ __metadata("design:type", String)
92
+ ], Asset.prototype, "fragment", void 0);
93
+ __decorate([
94
+ (0, sequelize_typescript_1.AllowNull)(true),
95
+ (0, sequelize_typescript_1.Default)(null),
96
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.JSON),
97
+ __metadata("design:type", Object)
98
+ ], Asset.prototype, "uniforms", void 0);
99
+ __decorate([
100
+ (0, sequelize_typescript_1.AllowNull)(true),
101
+ (0, sequelize_typescript_1.Default)(null),
102
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.JSON),
103
+ __metadata("design:type", Array)
104
+ ], Asset.prototype, "settings", void 0);
105
+ __decorate([
106
+ (0, sequelize_typescript_1.AllowNull)(true),
107
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.BIGINT),
108
+ __metadata("design:type", Number)
109
+ ], Asset.prototype, "fileSize", void 0);
110
+ __decorate([
111
+ sequelize_typescript_1.CreatedAt,
112
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
113
+ __metadata("design:type", Date)
114
+ ], Asset.prototype, "createdAt", void 0);
115
+ __decorate([
116
+ sequelize_typescript_1.UpdatedAt,
117
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
118
+ __metadata("design:type", Date)
119
+ ], Asset.prototype, "updatedAt", void 0);
120
+ __decorate([
121
+ (0, sequelize_typescript_1.BelongsTo)(() => User_1.User, 'creatorId'),
122
+ __metadata("design:type", User_1.User)
123
+ ], Asset.prototype, "creator", void 0);
124
+ exports.Asset = Asset = __decorate([
125
+ (0, sequelize_typescript_1.Table)({
126
+ tableName: 'assets',
127
+ timestamps: true,
128
+ })
129
+ ], Asset);
@@ -0,0 +1,15 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { User } from './User';
3
+ import { Project } from './Project';
4
+ import { ConversationMessage } from './ConversationMessage';
5
+ export declare class Conversation extends Model {
6
+ id: string;
7
+ userId: string;
8
+ projectId: string;
9
+ title: string;
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ user: User;
13
+ project: Project;
14
+ messages: ConversationMessage[];
15
+ }
@@ -0,0 +1,71 @@
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.Conversation = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const User_1 = require("./User");
15
+ const Project_1 = require("./Project");
16
+ const ConversationMessage_1 = require("./ConversationMessage");
17
+ let Conversation = class Conversation extends sequelize_typescript_1.Model {
18
+ };
19
+ exports.Conversation = Conversation;
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
+ ], Conversation.prototype, "id", void 0);
26
+ __decorate([
27
+ (0, sequelize_typescript_1.ForeignKey)(() => User_1.User),
28
+ (0, sequelize_typescript_1.AllowNull)(false),
29
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
30
+ __metadata("design:type", String)
31
+ ], Conversation.prototype, "userId", void 0);
32
+ __decorate([
33
+ (0, sequelize_typescript_1.ForeignKey)(() => Project_1.Project),
34
+ (0, sequelize_typescript_1.AllowNull)(false),
35
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
36
+ __metadata("design:type", String)
37
+ ], Conversation.prototype, "projectId", void 0);
38
+ __decorate([
39
+ (0, sequelize_typescript_1.AllowNull)(false),
40
+ (0, sequelize_typescript_1.Default)('New Conversation'),
41
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(255)),
42
+ __metadata("design:type", String)
43
+ ], Conversation.prototype, "title", void 0);
44
+ __decorate([
45
+ sequelize_typescript_1.CreatedAt,
46
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
47
+ __metadata("design:type", Date)
48
+ ], Conversation.prototype, "createdAt", void 0);
49
+ __decorate([
50
+ sequelize_typescript_1.UpdatedAt,
51
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
52
+ __metadata("design:type", Date)
53
+ ], Conversation.prototype, "updatedAt", void 0);
54
+ __decorate([
55
+ (0, sequelize_typescript_1.BelongsTo)(() => User_1.User),
56
+ __metadata("design:type", User_1.User)
57
+ ], Conversation.prototype, "user", void 0);
58
+ __decorate([
59
+ (0, sequelize_typescript_1.BelongsTo)(() => Project_1.Project),
60
+ __metadata("design:type", Project_1.Project)
61
+ ], Conversation.prototype, "project", void 0);
62
+ __decorate([
63
+ (0, sequelize_typescript_1.HasMany)(() => ConversationMessage_1.ConversationMessage, { onDelete: 'CASCADE' }),
64
+ __metadata("design:type", Array)
65
+ ], Conversation.prototype, "messages", void 0);
66
+ exports.Conversation = Conversation = __decorate([
67
+ (0, sequelize_typescript_1.Table)({
68
+ tableName: 'conversations',
69
+ timestamps: true,
70
+ })
71
+ ], Conversation);
@@ -0,0 +1,14 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { Conversation } from './Conversation';
3
+ export declare enum MessageRole {
4
+ USER = "user",
5
+ ASSISTANT = "assistant"
6
+ }
7
+ export declare class ConversationMessage extends Model {
8
+ id: string;
9
+ conversationId: string;
10
+ role: MessageRole;
11
+ content: string;
12
+ timestamp: number;
13
+ conversation: Conversation;
14
+ }
@@ -0,0 +1,59 @@
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.ConversationMessage = exports.MessageRole = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const Conversation_1 = require("./Conversation");
15
+ var MessageRole;
16
+ (function (MessageRole) {
17
+ MessageRole["USER"] = "user";
18
+ MessageRole["ASSISTANT"] = "assistant";
19
+ })(MessageRole || (exports.MessageRole = MessageRole = {}));
20
+ let ConversationMessage = class ConversationMessage extends sequelize_typescript_1.Model {
21
+ };
22
+ exports.ConversationMessage = ConversationMessage;
23
+ __decorate([
24
+ sequelize_typescript_1.PrimaryKey,
25
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
26
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
27
+ __metadata("design:type", String)
28
+ ], ConversationMessage.prototype, "id", void 0);
29
+ __decorate([
30
+ (0, sequelize_typescript_1.ForeignKey)(() => Conversation_1.Conversation),
31
+ (0, sequelize_typescript_1.AllowNull)(false),
32
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
33
+ __metadata("design:type", String)
34
+ ], ConversationMessage.prototype, "conversationId", void 0);
35
+ __decorate([
36
+ (0, sequelize_typescript_1.AllowNull)(false),
37
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.ENUM(...Object.values(MessageRole))),
38
+ __metadata("design:type", String)
39
+ ], ConversationMessage.prototype, "role", void 0);
40
+ __decorate([
41
+ (0, sequelize_typescript_1.AllowNull)(false),
42
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
43
+ __metadata("design:type", String)
44
+ ], ConversationMessage.prototype, "content", void 0);
45
+ __decorate([
46
+ (0, sequelize_typescript_1.AllowNull)(false),
47
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.BIGINT),
48
+ __metadata("design:type", Number)
49
+ ], ConversationMessage.prototype, "timestamp", void 0);
50
+ __decorate([
51
+ (0, sequelize_typescript_1.BelongsTo)(() => Conversation_1.Conversation),
52
+ __metadata("design:type", Conversation_1.Conversation)
53
+ ], ConversationMessage.prototype, "conversation", void 0);
54
+ exports.ConversationMessage = ConversationMessage = __decorate([
55
+ (0, sequelize_typescript_1.Table)({
56
+ tableName: 'conversation_messages',
57
+ timestamps: false,
58
+ })
59
+ ], ConversationMessage);
@@ -0,0 +1,24 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { User } from './User';
3
+ import { Conversation } from './Conversation';
4
+ export declare class LlmRequest extends Model {
5
+ id: string;
6
+ conversationId?: string;
7
+ userId: string;
8
+ provider: string;
9
+ modelName: string;
10
+ operation: string;
11
+ schemaKeys?: string[];
12
+ promptTokens: number;
13
+ completionTokens: number;
14
+ totalTokens: number;
15
+ responseTimeMs?: number;
16
+ userRating?: number;
17
+ tokenUsageBreakdown?: object;
18
+ skillName?: string;
19
+ success: boolean;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ conversation?: Conversation;
23
+ user: User;
24
+ }
@@ -0,0 +1,125 @@
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.LlmRequest = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const User_1 = require("./User");
15
+ const Conversation_1 = require("./Conversation");
16
+ let LlmRequest = class LlmRequest extends sequelize_typescript_1.Model {
17
+ };
18
+ exports.LlmRequest = LlmRequest;
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
+ ], LlmRequest.prototype, "id", void 0);
25
+ __decorate([
26
+ (0, sequelize_typescript_1.ForeignKey)(() => Conversation_1.Conversation),
27
+ (0, sequelize_typescript_1.AllowNull)(true),
28
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
29
+ __metadata("design:type", String)
30
+ ], LlmRequest.prototype, "conversationId", void 0);
31
+ __decorate([
32
+ (0, sequelize_typescript_1.ForeignKey)(() => User_1.User),
33
+ (0, sequelize_typescript_1.AllowNull)(false),
34
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
35
+ __metadata("design:type", String)
36
+ ], LlmRequest.prototype, "userId", void 0);
37
+ __decorate([
38
+ (0, sequelize_typescript_1.AllowNull)(false),
39
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(50)),
40
+ __metadata("design:type", String)
41
+ ], LlmRequest.prototype, "provider", void 0);
42
+ __decorate([
43
+ (0, sequelize_typescript_1.AllowNull)(false),
44
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(100)),
45
+ __metadata("design:type", String)
46
+ ], LlmRequest.prototype, "modelName", void 0);
47
+ __decorate([
48
+ (0, sequelize_typescript_1.AllowNull)(false),
49
+ (0, sequelize_typescript_1.Default)('create'),
50
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(10)),
51
+ __metadata("design:type", String)
52
+ ], LlmRequest.prototype, "operation", void 0);
53
+ __decorate([
54
+ (0, sequelize_typescript_1.AllowNull)(true),
55
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.JSON),
56
+ __metadata("design:type", Array)
57
+ ], LlmRequest.prototype, "schemaKeys", void 0);
58
+ __decorate([
59
+ (0, sequelize_typescript_1.AllowNull)(false),
60
+ (0, sequelize_typescript_1.Default)(0),
61
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.INTEGER),
62
+ __metadata("design:type", Number)
63
+ ], LlmRequest.prototype, "promptTokens", void 0);
64
+ __decorate([
65
+ (0, sequelize_typescript_1.AllowNull)(false),
66
+ (0, sequelize_typescript_1.Default)(0),
67
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.INTEGER),
68
+ __metadata("design:type", Number)
69
+ ], LlmRequest.prototype, "completionTokens", void 0);
70
+ __decorate([
71
+ (0, sequelize_typescript_1.AllowNull)(false),
72
+ (0, sequelize_typescript_1.Default)(0),
73
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.INTEGER),
74
+ __metadata("design:type", Number)
75
+ ], LlmRequest.prototype, "totalTokens", void 0);
76
+ __decorate([
77
+ (0, sequelize_typescript_1.AllowNull)(true),
78
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.INTEGER),
79
+ __metadata("design:type", Number)
80
+ ], LlmRequest.prototype, "responseTimeMs", void 0);
81
+ __decorate([
82
+ (0, sequelize_typescript_1.AllowNull)(true),
83
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.INTEGER),
84
+ __metadata("design:type", Number)
85
+ ], LlmRequest.prototype, "userRating", void 0);
86
+ __decorate([
87
+ (0, sequelize_typescript_1.AllowNull)(true),
88
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.JSON),
89
+ __metadata("design:type", Object)
90
+ ], LlmRequest.prototype, "tokenUsageBreakdown", void 0);
91
+ __decorate([
92
+ (0, sequelize_typescript_1.AllowNull)(true),
93
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(100)),
94
+ __metadata("design:type", String)
95
+ ], LlmRequest.prototype, "skillName", void 0);
96
+ __decorate([
97
+ (0, sequelize_typescript_1.AllowNull)(false),
98
+ (0, sequelize_typescript_1.Default)(true),
99
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.BOOLEAN),
100
+ __metadata("design:type", Boolean)
101
+ ], LlmRequest.prototype, "success", void 0);
102
+ __decorate([
103
+ sequelize_typescript_1.CreatedAt,
104
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
105
+ __metadata("design:type", Date)
106
+ ], LlmRequest.prototype, "createdAt", void 0);
107
+ __decorate([
108
+ sequelize_typescript_1.UpdatedAt,
109
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
110
+ __metadata("design:type", Date)
111
+ ], LlmRequest.prototype, "updatedAt", void 0);
112
+ __decorate([
113
+ (0, sequelize_typescript_1.BelongsTo)(() => Conversation_1.Conversation),
114
+ __metadata("design:type", Conversation_1.Conversation)
115
+ ], LlmRequest.prototype, "conversation", void 0);
116
+ __decorate([
117
+ (0, sequelize_typescript_1.BelongsTo)(() => User_1.User),
118
+ __metadata("design:type", User_1.User)
119
+ ], LlmRequest.prototype, "user", void 0);
120
+ exports.LlmRequest = LlmRequest = __decorate([
121
+ (0, sequelize_typescript_1.Table)({
122
+ tableName: 'llm_requests',
123
+ timestamps: true,
124
+ })
125
+ ], LlmRequest);
@@ -0,0 +1,24 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ import { User } from './User';
3
+ import { Privacy } from './Asset';
4
+ export declare enum ProjectStatus {
5
+ ACTIVE = "active",
6
+ INACTIVE = "inactive"
7
+ }
8
+ export declare class Project extends Model {
9
+ id: string;
10
+ name: string;
11
+ description?: string;
12
+ settings?: object;
13
+ userId: string;
14
+ cameraId?: string;
15
+ sceneSettingsId?: string;
16
+ postProcessingId?: string;
17
+ privacy: Privacy;
18
+ price?: number;
19
+ status: ProjectStatus;
20
+ forkCount: number;
21
+ createdAt: Date;
22
+ updatedAt: Date;
23
+ owner: User;
24
+ }
@@ -0,0 +1,103 @@
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.Project = exports.ProjectStatus = void 0;
13
+ const sequelize_typescript_1 = require("sequelize-typescript");
14
+ const User_1 = require("./User");
15
+ const Asset_1 = require("./Asset");
16
+ var ProjectStatus;
17
+ (function (ProjectStatus) {
18
+ ProjectStatus["ACTIVE"] = "active";
19
+ ProjectStatus["INACTIVE"] = "inactive";
20
+ })(ProjectStatus || (exports.ProjectStatus = ProjectStatus = {}));
21
+ let Project = class Project extends sequelize_typescript_1.Model {
22
+ };
23
+ exports.Project = Project;
24
+ __decorate([
25
+ sequelize_typescript_1.PrimaryKey,
26
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
27
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
28
+ __metadata("design:type", String)
29
+ ], Project.prototype, "id", void 0);
30
+ __decorate([
31
+ (0, sequelize_typescript_1.AllowNull)(false),
32
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(255)),
33
+ __metadata("design:type", String)
34
+ ], Project.prototype, "name", void 0);
35
+ __decorate([
36
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
37
+ __metadata("design:type", String)
38
+ ], Project.prototype, "description", void 0);
39
+ __decorate([
40
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.JSON),
41
+ __metadata("design:type", Object)
42
+ ], Project.prototype, "settings", void 0);
43
+ __decorate([
44
+ (0, sequelize_typescript_1.ForeignKey)(() => User_1.User),
45
+ (0, sequelize_typescript_1.AllowNull)(false),
46
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
47
+ __metadata("design:type", String)
48
+ ], Project.prototype, "userId", void 0);
49
+ __decorate([
50
+ (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.UUID, field: 'camera_id' }),
51
+ __metadata("design:type", String)
52
+ ], Project.prototype, "cameraId", void 0);
53
+ __decorate([
54
+ (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.UUID, field: 'scene_settings_id' }),
55
+ __metadata("design:type", String)
56
+ ], Project.prototype, "sceneSettingsId", void 0);
57
+ __decorate([
58
+ (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.UUID, field: 'post_processing_id' }),
59
+ __metadata("design:type", String)
60
+ ], Project.prototype, "postProcessingId", void 0);
61
+ __decorate([
62
+ (0, sequelize_typescript_1.Column)({
63
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(Asset_1.Privacy)),
64
+ defaultValue: Asset_1.Privacy.PRIVATE,
65
+ }),
66
+ __metadata("design:type", String)
67
+ ], Project.prototype, "privacy", void 0);
68
+ __decorate([
69
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DECIMAL(10, 2)),
70
+ __metadata("design:type", Number)
71
+ ], Project.prototype, "price", void 0);
72
+ __decorate([
73
+ (0, sequelize_typescript_1.Column)({
74
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(ProjectStatus)),
75
+ defaultValue: ProjectStatus.ACTIVE,
76
+ }),
77
+ __metadata("design:type", String)
78
+ ], Project.prototype, "status", void 0);
79
+ __decorate([
80
+ (0, sequelize_typescript_1.Default)(0),
81
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.INTEGER),
82
+ __metadata("design:type", Number)
83
+ ], Project.prototype, "forkCount", void 0);
84
+ __decorate([
85
+ sequelize_typescript_1.CreatedAt,
86
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
87
+ __metadata("design:type", Date)
88
+ ], Project.prototype, "createdAt", void 0);
89
+ __decorate([
90
+ sequelize_typescript_1.UpdatedAt,
91
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
92
+ __metadata("design:type", Date)
93
+ ], Project.prototype, "updatedAt", void 0);
94
+ __decorate([
95
+ (0, sequelize_typescript_1.BelongsTo)(() => User_1.User),
96
+ __metadata("design:type", User_1.User)
97
+ ], Project.prototype, "owner", void 0);
98
+ exports.Project = Project = __decorate([
99
+ (0, sequelize_typescript_1.Table)({
100
+ tableName: 'projects',
101
+ timestamps: true,
102
+ })
103
+ ], Project);
@@ -0,0 +1,12 @@
1
+ import { Model } from 'sequelize-typescript';
2
+ export declare class User extends Model {
3
+ id: string;
4
+ userName: string;
5
+ email: string;
6
+ password?: string;
7
+ googleId?: string;
8
+ provider: string;
9
+ avatarUrl?: string;
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ }
@@ -0,0 +1,72 @@
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
+ let User = class User extends sequelize_typescript_1.Model {
15
+ };
16
+ exports.User = User;
17
+ __decorate([
18
+ sequelize_typescript_1.PrimaryKey,
19
+ (0, sequelize_typescript_1.Default)(sequelize_typescript_1.DataType.UUIDV4),
20
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.UUID),
21
+ __metadata("design:type", String)
22
+ ], User.prototype, "id", void 0);
23
+ __decorate([
24
+ sequelize_typescript_1.Unique,
25
+ (0, sequelize_typescript_1.AllowNull)(false),
26
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(100)),
27
+ __metadata("design:type", String)
28
+ ], User.prototype, "userName", void 0);
29
+ __decorate([
30
+ sequelize_typescript_1.Unique,
31
+ (0, sequelize_typescript_1.AllowNull)(false),
32
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(255)),
33
+ __metadata("design:type", String)
34
+ ], User.prototype, "email", void 0);
35
+ __decorate([
36
+ (0, sequelize_typescript_1.AllowNull)(true),
37
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(255)),
38
+ __metadata("design:type", String)
39
+ ], User.prototype, "password", void 0);
40
+ __decorate([
41
+ sequelize_typescript_1.Unique,
42
+ (0, sequelize_typescript_1.AllowNull)(true),
43
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(255)),
44
+ __metadata("design:type", String)
45
+ ], User.prototype, "googleId", void 0);
46
+ __decorate([
47
+ (0, sequelize_typescript_1.AllowNull)(false),
48
+ (0, sequelize_typescript_1.Default)('local'),
49
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(50)),
50
+ __metadata("design:type", String)
51
+ ], User.prototype, "provider", void 0);
52
+ __decorate([
53
+ (0, sequelize_typescript_1.AllowNull)(true),
54
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(500)),
55
+ __metadata("design:type", String)
56
+ ], User.prototype, "avatarUrl", void 0);
57
+ __decorate([
58
+ sequelize_typescript_1.CreatedAt,
59
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
60
+ __metadata("design:type", Date)
61
+ ], User.prototype, "createdAt", void 0);
62
+ __decorate([
63
+ sequelize_typescript_1.UpdatedAt,
64
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.DATE),
65
+ __metadata("design:type", Date)
66
+ ], User.prototype, "updatedAt", void 0);
67
+ exports.User = User = __decorate([
68
+ (0, sequelize_typescript_1.Table)({
69
+ tableName: 'users',
70
+ timestamps: true,
71
+ })
72
+ ], User);
@@ -0,0 +1,7 @@
1
+ export { User } from './User';
2
+ export { Project, ProjectStatus } from './Project';
3
+ export { Asset, AssetType, Privacy } from './Asset';
4
+ export type { AssetPayload } from './Asset';
5
+ export { Conversation } from './Conversation';
6
+ export { ConversationMessage, MessageRole } from './ConversationMessage';
7
+ export { LlmRequest } from './LlmRequest';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LlmRequest = exports.MessageRole = exports.ConversationMessage = exports.Conversation = exports.Privacy = exports.AssetType = exports.Asset = exports.ProjectStatus = exports.Project = exports.User = void 0;
4
+ var User_1 = require("./User");
5
+ Object.defineProperty(exports, "User", { enumerable: true, get: function () { return User_1.User; } });
6
+ var Project_1 = require("./Project");
7
+ Object.defineProperty(exports, "Project", { enumerable: true, get: function () { return Project_1.Project; } });
8
+ Object.defineProperty(exports, "ProjectStatus", { enumerable: true, get: function () { return Project_1.ProjectStatus; } });
9
+ var Asset_1 = require("./Asset");
10
+ Object.defineProperty(exports, "Asset", { enumerable: true, get: function () { return Asset_1.Asset; } });
11
+ Object.defineProperty(exports, "AssetType", { enumerable: true, get: function () { return Asset_1.AssetType; } });
12
+ Object.defineProperty(exports, "Privacy", { enumerable: true, get: function () { return Asset_1.Privacy; } });
13
+ var Conversation_1 = require("./Conversation");
14
+ Object.defineProperty(exports, "Conversation", { enumerable: true, get: function () { return Conversation_1.Conversation; } });
15
+ var ConversationMessage_1 = require("./ConversationMessage");
16
+ Object.defineProperty(exports, "ConversationMessage", { enumerable: true, get: function () { return ConversationMessage_1.ConversationMessage; } });
17
+ Object.defineProperty(exports, "MessageRole", { enumerable: true, get: function () { return ConversationMessage_1.MessageRole; } });
18
+ var LlmRequest_1 = require("./LlmRequest");
19
+ Object.defineProperty(exports, "LlmRequest", { enumerable: true, get: function () { return LlmRequest_1.LlmRequest; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntalmagor/3drise-common",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -25,10 +25,6 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.975.0",
28
- "@types/cookie-session": "^2.0.48",
29
- "@types/express": "^5.0.1",
30
- "@types/jsonwebtoken": "^9.0.5",
31
- "@types/uuid": "^10.0.0",
32
28
  "cookie-session": "^2.1.1",
33
29
  "express": "^4.18.2",
34
30
  "express-validator": "^7.0.1",
@@ -36,8 +32,29 @@
36
32
  "jsonwebtoken": "^9.0.2",
37
33
  "mysql2": "^3.15.0",
38
34
  "node-nats-streaming": "^0.3.2",
35
+ "reflect-metadata": "^0.2.2",
39
36
  "sequelize": "^6.37.7",
40
37
  "sequelize-typescript": "^2.1.6",
41
38
  "uuid": "^13.0.0"
39
+ },
40
+ "peerDependencies": {
41
+ "@types/cookie-session": ">=2.0.0",
42
+ "@types/express": ">=4.17.0",
43
+ "@types/jsonwebtoken": ">=9.0.0",
44
+ "@types/uuid": ">=10.0.0"
45
+ },
46
+ "peerDependenciesMeta": {
47
+ "@types/cookie-session": {
48
+ "optional": true
49
+ },
50
+ "@types/express": {
51
+ "optional": true
52
+ },
53
+ "@types/jsonwebtoken": {
54
+ "optional": true
55
+ },
56
+ "@types/uuid": {
57
+ "optional": true
58
+ }
42
59
  }
43
60
  }