@steedos/server 3.0.0-beta.108 → 3.0.0-beta.112
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/ai/ai.controller.js +2 -1
- package/dist/ai/ai.controller.js.map +1 -1
- package/dist/ai/ai.module.js +2 -1
- package/dist/ai/ai.module.js.map +1 -1
- package/dist/ai/ai.service.d.ts +12 -2
- package/dist/ai/ai.service.js +36 -4
- package/dist/ai/ai.service.js.map +1 -1
- package/dist/ai/chat.controller.d.ts +10 -0
- package/dist/ai/chat.controller.js +113 -0
- package/dist/ai/chat.controller.js.map +1 -0
- package/dist/config/steedos.config.js +1 -1
- package/package.json +73 -11
package/dist/ai/ai.controller.js
CHANGED
|
@@ -41,7 +41,7 @@ let AiController = class AiController {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
const includeRelatedBoolean = includeRelated.toLowerCase() === "true";
|
|
44
|
-
const results = yield this.aiService.
|
|
44
|
+
const results = yield this.aiService.getObjectSchemaWithRelated(objectApiNames, includeRelatedBoolean);
|
|
45
45
|
return results;
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -68,6 +68,7 @@ __decorate([
|
|
|
68
68
|
__metadata("design:returntype", Promise)
|
|
69
69
|
], AiController.prototype, "getObjectsPrompt", null);
|
|
70
70
|
exports.AiController = AiController = __decorate([
|
|
71
|
+
(0, swagger_1.ApiTags)("AI"),
|
|
71
72
|
(0, common_1.Controller)("/api/v6/ai"),
|
|
72
73
|
__metadata("design:paramtypes", [ai_service_1.AiService])
|
|
73
74
|
], AiController);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.controller.js","sourceRoot":"","sources":["../../src/ai/ai.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,6CAQyB;AACzB,6CAAyC;
|
|
1
|
+
{"version":3,"file":"ai.controller.js","sourceRoot":"","sources":["../../src/ai/ai.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,6CAQyB;AACzB,6CAAyC;AAIlC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAgB/C,gBAAgB;6DACF,OAAa,EACN,iBAAyB,OAAO;YAEzD,IAAI,cAAc,GAAa,EAAE,CAAC;YAClC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,CAAC;gBAAC,WAAM,CAAC;oBACP,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAGD,MAAM,qBAAqB,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;YAEtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAC7D,cAAc,EACd,qBAAqB,CACtB,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;CACF,CAAA;AAvCY,oCAAY;AAiBjB;IAdL,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;QACZ,WAAW,EACT,wGAAwG;QAC1G,OAAO,EAAE,aAAa;KACvB,CAAC;IACD,IAAA,kBAAQ,EAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;KACd,CAAC;IACD,IAAA,YAAG,EAAC,gBAAgB,CAAC;IAEnB,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;IAChB,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;;;;oDAmBzB;uBAtCU,YAAY;IAFxB,IAAA,iBAAO,EAAC,IAAI,CAAC;IACb,IAAA,mBAAU,EAAC,YAAY,CAAC;qCAEiB,sBAAS;GADtC,YAAY,CAuCxB"}
|
package/dist/ai/ai.module.js
CHANGED
|
@@ -11,13 +11,14 @@ const common_1 = require("@nestjs/common");
|
|
|
11
11
|
const ai_controller_1 = require("./ai.controller");
|
|
12
12
|
const ai_service_1 = require("./ai.service");
|
|
13
13
|
const core_1 = require("@builder6/core");
|
|
14
|
+
const chat_controller_1 = require("./chat.controller");
|
|
14
15
|
let AiModule = class AiModule {
|
|
15
16
|
};
|
|
16
17
|
exports.AiModule = AiModule;
|
|
17
18
|
exports.AiModule = AiModule = __decorate([
|
|
18
19
|
(0, common_1.Module)({
|
|
19
20
|
imports: [core_1.AuthModule],
|
|
20
|
-
controllers: [ai_controller_1.AiController],
|
|
21
|
+
controllers: [ai_controller_1.AiController, chat_controller_1.ChatController],
|
|
21
22
|
providers: [ai_service_1.AiService],
|
|
22
23
|
})
|
|
23
24
|
], AiModule);
|
package/dist/ai/ai.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.module.js","sourceRoot":"","sources":["../../src/ai/ai.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,6CAAyC;AACzC,yCAA4C;
|
|
1
|
+
{"version":3,"file":"ai.module.js","sourceRoot":"","sources":["../../src/ai/ai.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,6CAAyC;AACzC,yCAA4C;AAC5C,uDAAmD;AAO5C,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAAG,CAAA;AAAX,4BAAQ;mBAAR,QAAQ;IALpB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,iBAAU,CAAC;QACrB,WAAW,EAAE,CAAC,4BAAY,EAAE,gCAAc,CAAC;QAC3C,SAAS,EAAE,CAAC,sBAAS,CAAC;KACvB,CAAC;GACW,QAAQ,CAAG"}
|
package/dist/ai/ai.service.d.ts
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
export declare class AiService {
|
|
2
2
|
getObjectConfig(objectApiName: string): Promise<any>;
|
|
3
|
-
|
|
3
|
+
getObjectSchema(objectApiName: string): Promise<{
|
|
4
4
|
name: any;
|
|
5
5
|
label: any;
|
|
6
6
|
fields: {};
|
|
7
7
|
}>;
|
|
8
|
-
|
|
8
|
+
getObjectSchemaWithRelated(objectApiNames: string[], includeRelated: any): Promise<{}>;
|
|
9
|
+
getObjectSchemaTool(): import("ai").Tool<{
|
|
10
|
+
objectApiName: string;
|
|
11
|
+
}, {
|
|
12
|
+
name: any;
|
|
13
|
+
label: any;
|
|
14
|
+
fields: {};
|
|
15
|
+
}>;
|
|
16
|
+
getObjectSchemaWithRelatedTool(): import("ai").Tool<{
|
|
17
|
+
objectApiName: string;
|
|
18
|
+
}, {}>;
|
|
9
19
|
}
|
package/dist/ai/ai.service.js
CHANGED
|
@@ -18,6 +18,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.AiService = void 0;
|
|
19
19
|
const common_1 = require("@nestjs/common");
|
|
20
20
|
const objectql_1 = require("@steedos/objectql");
|
|
21
|
+
const zod_1 = require("zod");
|
|
22
|
+
const ai_1 = require("ai");
|
|
21
23
|
let AiService = class AiService {
|
|
22
24
|
getObjectConfig(objectApiName) {
|
|
23
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -28,7 +30,7 @@ let AiService = class AiService {
|
|
|
28
30
|
return obj.getConfig();
|
|
29
31
|
});
|
|
30
32
|
}
|
|
31
|
-
|
|
33
|
+
getObjectSchema(objectApiName) {
|
|
32
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
33
35
|
const obj = (0, objectql_1.getObject)(objectApiName);
|
|
34
36
|
if (!obj) {
|
|
@@ -55,11 +57,11 @@ let AiService = class AiService {
|
|
|
55
57
|
};
|
|
56
58
|
});
|
|
57
59
|
}
|
|
58
|
-
|
|
60
|
+
getObjectSchemaWithRelated(objectApiNames, includeRelated) {
|
|
59
61
|
return __awaiter(this, void 0, void 0, function* () {
|
|
60
62
|
const results = {};
|
|
61
63
|
for (const objectApiName of objectApiNames) {
|
|
62
|
-
const fields = yield this.
|
|
64
|
+
const fields = yield this.getObjectSchema(objectApiName);
|
|
63
65
|
results[objectApiName] = fields;
|
|
64
66
|
if (includeRelated) {
|
|
65
67
|
for (const fieldKey in fields.fields) {
|
|
@@ -67,7 +69,7 @@ let AiService = class AiService {
|
|
|
67
69
|
if (field.type === "lookup" || field.type === "master_detail") {
|
|
68
70
|
const relatedObjectApiName = field.reference_to;
|
|
69
71
|
if (relatedObjectApiName && !results[relatedObjectApiName]) {
|
|
70
|
-
const fields = yield this.
|
|
72
|
+
const fields = yield this.getObjectSchema(relatedObjectApiName);
|
|
71
73
|
results[relatedObjectApiName] = fields;
|
|
72
74
|
}
|
|
73
75
|
}
|
|
@@ -77,6 +79,36 @@ let AiService = class AiService {
|
|
|
77
79
|
return results;
|
|
78
80
|
});
|
|
79
81
|
}
|
|
82
|
+
getObjectSchemaTool() {
|
|
83
|
+
return (0, ai_1.tool)({
|
|
84
|
+
description: "Get object schema",
|
|
85
|
+
inputSchema: zod_1.z.object({
|
|
86
|
+
objectApiName: zod_1.z
|
|
87
|
+
.string()
|
|
88
|
+
.describe('The object API name, e.g., "space_users"'),
|
|
89
|
+
}),
|
|
90
|
+
execute: (_a) => __awaiter(this, [_a], void 0, function* ({ objectApiName }) {
|
|
91
|
+
const schema = yield this.getObjectSchema(objectApiName);
|
|
92
|
+
console.log("Calling tool getObjectSchema:", schema);
|
|
93
|
+
return schema;
|
|
94
|
+
}),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
getObjectSchemaWithRelatedTool() {
|
|
98
|
+
return (0, ai_1.tool)({
|
|
99
|
+
description: "Get schema for object and related objects",
|
|
100
|
+
inputSchema: zod_1.z.object({
|
|
101
|
+
objectApiName: zod_1.z
|
|
102
|
+
.string()
|
|
103
|
+
.describe('The object API name, e.g., "space_users"'),
|
|
104
|
+
}),
|
|
105
|
+
execute: (_a) => __awaiter(this, [_a], void 0, function* ({ objectApiName }) {
|
|
106
|
+
const schema = yield this.getObjectSchemaWithRelated([objectApiName], true);
|
|
107
|
+
console.log("Calling tool getObjectSchemaWithRelated:", schema);
|
|
108
|
+
return schema;
|
|
109
|
+
}),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
80
112
|
};
|
|
81
113
|
exports.AiService = AiService;
|
|
82
114
|
exports.AiService = AiService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../src/ai/ai.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,gDAA8C;
|
|
1
|
+
{"version":3,"file":"ai.service.js","sourceRoot":"","sources":["../../src/ai/ai.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Response } from "express";
|
|
2
|
+
import { AiService } from "./ai.service";
|
|
3
|
+
export declare class ChatController {
|
|
4
|
+
private readonly aiService;
|
|
5
|
+
constructor(aiService: AiService);
|
|
6
|
+
generateText(model: string, system: string, prompt: string): Promise<{
|
|
7
|
+
text: string;
|
|
8
|
+
}>;
|
|
9
|
+
streamText(model: string, system: string, prompt: string, res: Response): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
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
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.ChatController = void 0;
|
|
25
|
+
const openai_1 = require("@ai-sdk/openai");
|
|
26
|
+
const common_1 = require("@nestjs/common");
|
|
27
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
28
|
+
const ai_1 = require("ai");
|
|
29
|
+
const ai_service_1 = require("./ai.service");
|
|
30
|
+
let ChatController = class ChatController {
|
|
31
|
+
constructor(aiService) {
|
|
32
|
+
this.aiService = aiService;
|
|
33
|
+
}
|
|
34
|
+
generateText(model, system, prompt) {
|
|
35
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
const result = yield (0, ai_1.generateText)({
|
|
37
|
+
model: (0, openai_1.openai)(model),
|
|
38
|
+
system,
|
|
39
|
+
prompt,
|
|
40
|
+
tools: {
|
|
41
|
+
getObjectSchema: this.aiService.getObjectSchemaTool(),
|
|
42
|
+
getObjectSchemaWithRelated: this.aiService.getObjectSchemaWithRelatedTool(),
|
|
43
|
+
},
|
|
44
|
+
stopWhen: (0, ai_1.stepCountIs)(5),
|
|
45
|
+
});
|
|
46
|
+
return {
|
|
47
|
+
text: result.text,
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
streamText(model, system, prompt, res) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const result = (0, ai_1.streamText)({
|
|
54
|
+
model: (0, openai_1.openai)(model),
|
|
55
|
+
system,
|
|
56
|
+
prompt,
|
|
57
|
+
});
|
|
58
|
+
result.pipeUIMessageStreamToResponse(res);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
exports.ChatController = ChatController;
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, swagger_1.ApiBody)({
|
|
65
|
+
schema: {
|
|
66
|
+
type: "object",
|
|
67
|
+
},
|
|
68
|
+
examples: {
|
|
69
|
+
text: {
|
|
70
|
+
value: {
|
|
71
|
+
model: "gpt-4o",
|
|
72
|
+
prompt: "Invent a new holiday and describe its traditions.",
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
}),
|
|
77
|
+
(0, common_1.Post)("generateText"),
|
|
78
|
+
__param(0, (0, common_1.Body)("model")),
|
|
79
|
+
__param(1, (0, common_1.Body)("system")),
|
|
80
|
+
__param(2, (0, common_1.Body)("prompt")),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [String, String, String]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], ChatController.prototype, "generateText", null);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, swagger_1.ApiBody)({
|
|
87
|
+
schema: {
|
|
88
|
+
type: "object",
|
|
89
|
+
},
|
|
90
|
+
examples: {
|
|
91
|
+
text: {
|
|
92
|
+
value: {
|
|
93
|
+
model: "gpt-4o",
|
|
94
|
+
prompt: "Invent a new holiday and describe its traditions.",
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
}),
|
|
99
|
+
(0, common_1.Post)("streamText"),
|
|
100
|
+
__param(0, (0, common_1.Body)("model")),
|
|
101
|
+
__param(1, (0, common_1.Body)("system")),
|
|
102
|
+
__param(2, (0, common_1.Body)("prompt")),
|
|
103
|
+
__param(3, (0, common_1.Res)()),
|
|
104
|
+
__metadata("design:type", Function),
|
|
105
|
+
__metadata("design:paramtypes", [String, String, String, Object]),
|
|
106
|
+
__metadata("design:returntype", Promise)
|
|
107
|
+
], ChatController.prototype, "streamText", null);
|
|
108
|
+
exports.ChatController = ChatController = __decorate([
|
|
109
|
+
(0, swagger_1.ApiTags)("AI"),
|
|
110
|
+
(0, common_1.Controller)("api/v6/ai/chat"),
|
|
111
|
+
__metadata("design:paramtypes", [ai_service_1.AiService])
|
|
112
|
+
], ChatController);
|
|
113
|
+
//# sourceMappingURL=chat.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../src/ai/chat.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwC;AACxC,2CAAoE;AACpE,6CAQyB;AACzB,2BAA2D;AAE3D,6CAAyC;AAIlC,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAgB/C,YAAY,CACD,KAAa,EACZ,MAAc,EACd,MAAc;;YAE9B,MAAM,MAAM,GAAG,MAAM,IAAA,iBAAY,EAAC;gBAChC,KAAK,EAAE,IAAA,eAAM,EAAC,KAAK,CAAC;gBACpB,MAAM;gBACN,MAAM;gBACN,KAAK,EAAE;oBACL,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;oBACrD,0BAA0B,EACxB,IAAI,CAAC,SAAS,CAAC,8BAA8B,EAAE;iBAClD;gBACD,QAAQ,EAAE,IAAA,gBAAW,EAAC,CAAC,CAAC;aACzB,CAAC,CAAC;YAEH,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;aAClB,CAAC;QACJ,CAAC;KAAA;IAgBK,UAAU,CACC,KAAa,EACZ,MAAc,EACd,MAAc,EACvB,GAAa;;YAEpB,MAAM,MAAM,GAAG,IAAA,eAAU,EAAC;gBACxB,KAAK,EAAE,IAAA,eAAM,EAAC,KAAK,CAAC;gBACpB,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;YAEH,MAAM,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;KAAA;CACF,CAAA;AAnEY,wCAAc;AAiBnB;IAdL,IAAA,iBAAO,EAAC;QACP,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,mDAAmD;iBAC5D;aACF;SACF;KACF,CAAC;IACD,IAAA,aAAI,EAAC,cAAc,CAAC;IAElB,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,aAAI,EAAC,QAAQ,CAAC,CAAA;IACd,WAAA,IAAA,aAAI,EAAC,QAAQ,CAAC,CAAA;;;;kDAiBhB;AAgBK;IAdL,IAAA,iBAAO,EAAC;QACP,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;SACf;QACD,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,mDAAmD;iBAC5D;aACF;SACF;KACF,CAAC;IACD,IAAA,aAAI,EAAC,YAAY,CAAC;IAEhB,WAAA,IAAA,aAAI,EAAC,OAAO,CAAC,CAAA;IACb,WAAA,IAAA,aAAI,EAAC,QAAQ,CAAC,CAAA;IACd,WAAA,IAAA,aAAI,EAAC,QAAQ,CAAC,CAAA;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;;;;gDASP;yBAlEU,cAAc;IAF1B,IAAA,iBAAO,EAAC,IAAI,CAAC;IACb,IAAA,mBAAU,EAAC,gBAAgB,CAAC;qCAEa,sBAAS;GADtC,cAAc,CAmE1B"}
|
|
@@ -33,7 +33,7 @@ else {
|
|
|
33
33
|
}
|
|
34
34
|
process.env.STEEDOS_AMIS_URL = process.env.STEEDOS_AMIS_URL.replace(/\/+$/, "");
|
|
35
35
|
if ((0, lodash_1.isEmpty)(process.env.STEEDOS_WIDGETS_VERSION)) {
|
|
36
|
-
process.env.STEEDOS_WIDGETS_VERSION = "v6.10.2-beta.
|
|
36
|
+
process.env.STEEDOS_WIDGETS_VERSION = "v6.10.2-beta.3";
|
|
37
37
|
}
|
|
38
38
|
if ((0, lodash_1.isEmpty)(process.env.STEEDOS_PUBLIC_PAGE_ASSETURLS)) {
|
|
39
39
|
const widgetsVersion = process.env.STEEDOS_WIDGETS_VERSION;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/server",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.112",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
"dist",
|
|
9
9
|
"public",
|
|
10
10
|
"views",
|
|
11
|
-
"default.steedos.settings.yml"
|
|
12
|
-
"dist"
|
|
11
|
+
"default.steedos.settings.yml"
|
|
13
12
|
],
|
|
14
13
|
"main": "dist/bootstrap.js",
|
|
15
14
|
"scripts": {
|
|
@@ -23,15 +22,79 @@
|
|
|
23
22
|
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix"
|
|
24
23
|
},
|
|
25
24
|
"dependencies": {
|
|
26
|
-
"@
|
|
25
|
+
"@ai-sdk/openai": "^2.0.52",
|
|
26
|
+
"@builder6/cli": "3.0.9",
|
|
27
|
+
"@builder6/core": "3.0.9",
|
|
28
|
+
"@builder6/docs": "3.0.9",
|
|
29
|
+
"@builder6/email": "3.0.9",
|
|
30
|
+
"@builder6/files": "3.0.9",
|
|
31
|
+
"@builder6/microservices": "3.0.9",
|
|
32
|
+
"@builder6/moleculer": "3.0.9",
|
|
33
|
+
"@builder6/oidc": "3.0.9",
|
|
34
|
+
"@builder6/oidc-provider": "3.0.9",
|
|
35
|
+
"@builder6/onlyoffice": "3.0.9",
|
|
36
|
+
"@builder6/pages": "3.0.9",
|
|
37
|
+
"@builder6/query-mongodb": "3.0.9",
|
|
38
|
+
"@builder6/rooms": "3.0.9",
|
|
39
|
+
"@builder6/services": "3.0.9",
|
|
40
|
+
"@builder6/sharepoint": "3.0.9",
|
|
41
|
+
"@builder6/steedos": "3.0.9",
|
|
42
|
+
"@builder6/tables": "3.0.9",
|
|
43
|
+
"@nestjs/common": "^11.0.0",
|
|
44
|
+
"@nestjs/config": "^4.0.1",
|
|
45
|
+
"@nestjs/core": "^11.0.0",
|
|
46
|
+
"@nestjs/jwt": "^11.0.0",
|
|
47
|
+
"@nestjs/microservices": "^11.0.15",
|
|
48
|
+
"@nestjs/passport": "^11.0.0",
|
|
49
|
+
"@nestjs/platform-express": "^11.0.0",
|
|
50
|
+
"@nestjs/platform-socket.io": "^11.0.0",
|
|
51
|
+
"@nestjs/platform-ws": "^11.0.0",
|
|
52
|
+
"@nestjs/schedule": "^5.0.0",
|
|
27
53
|
"@nestjs/schematics": "^11.0.2",
|
|
54
|
+
"@nestjs/serve-static": "^5.0.0",
|
|
28
55
|
"@nestjs/swagger": "^11.0.0",
|
|
29
|
-
"@
|
|
56
|
+
"@nestjs/websockets": "^11.0.0",
|
|
57
|
+
"@steedos/auth": "3.0.0-beta.112",
|
|
30
58
|
"@steedos/ee_unpkg": "1.0.1",
|
|
31
|
-
"@steedos/objectql": "3.0.0-beta.
|
|
32
|
-
"@steedos/service-community": "3.0.0-beta.
|
|
33
|
-
"@steedos/service-enterprise": "3.0.0-beta.
|
|
34
|
-
"@steedos/webapp": "3.0.0-beta.
|
|
59
|
+
"@steedos/objectql": "3.0.0-beta.112",
|
|
60
|
+
"@steedos/service-community": "3.0.0-beta.112",
|
|
61
|
+
"@steedos/service-enterprise": "3.0.0-beta.112",
|
|
62
|
+
"@steedos/webapp": "3.0.0-beta.112",
|
|
63
|
+
"@types/multer": "^1.4.12",
|
|
64
|
+
"ai": "^5.0.71",
|
|
65
|
+
"aws-sdk": "^2.1692.0",
|
|
66
|
+
"axios": "^1.7.9",
|
|
67
|
+
"bcrypt": "^5.1.1",
|
|
68
|
+
"class-validator": "^0.14.1",
|
|
69
|
+
"compression": "^1.7.5",
|
|
70
|
+
"connect-redis": "8.0.2",
|
|
71
|
+
"cookie-parser": "^1.4.7",
|
|
72
|
+
"crypto-js": "^4.2.0",
|
|
73
|
+
"dotenv": "^16.4.5",
|
|
74
|
+
"dotenv-flow": "^4.1.0",
|
|
75
|
+
"express-session": "^1.18.1",
|
|
76
|
+
"fs-extra": "^11.2.0",
|
|
77
|
+
"hbs": "^4.2.0",
|
|
78
|
+
"http-proxy-middleware": "^3.0.3",
|
|
79
|
+
"ioredis": "^5.4.1",
|
|
80
|
+
"mime-types": "^2.1.35",
|
|
81
|
+
"moleculer": "^0.14.35",
|
|
82
|
+
"mongodb": "^3.7.3",
|
|
83
|
+
"multer": "^1.4.5-lts.1",
|
|
84
|
+
"nestjs-pino": "^4.2.0",
|
|
85
|
+
"nopt": "5.0.0",
|
|
86
|
+
"passport": "^0.7.0",
|
|
87
|
+
"passport-local": "^1.0.0",
|
|
88
|
+
"passport-openidconnect": "^0.1.2",
|
|
89
|
+
"raw-body": "^3.0.0",
|
|
90
|
+
"redis": "^4.7.0",
|
|
91
|
+
"reflect-metadata": "^0.2.0",
|
|
92
|
+
"regenerator-runtime": "^0.14.1",
|
|
93
|
+
"rxjs": "^7.8.1",
|
|
94
|
+
"sha256": "^0.2.0",
|
|
95
|
+
"uuid": "^9.0.0",
|
|
96
|
+
"ws": "8.13.0",
|
|
97
|
+
"zod": "^4.1.12"
|
|
35
98
|
},
|
|
36
99
|
"devDependencies": {
|
|
37
100
|
"@nestjs/cli": "^11.0.0",
|
|
@@ -73,9 +136,8 @@
|
|
|
73
136
|
"coverageDirectory": "../coverage",
|
|
74
137
|
"testEnvironment": "node"
|
|
75
138
|
},
|
|
76
|
-
"private": false,
|
|
77
139
|
"publishConfig": {
|
|
78
140
|
"access": "public"
|
|
79
141
|
},
|
|
80
|
-
"gitHead": "
|
|
142
|
+
"gitHead": "742d399ecaca836729c200044deee3ef0988be14"
|
|
81
143
|
}
|