@loopstack/core 0.12.2 → 0.14.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.
- package/CHANGELOG.md +26 -0
- package/dist/core-tools/core-tools.module.js +2 -0
- package/dist/core-tools/core-tools.module.js.map +1 -1
- package/dist/core-tools/documents/ai-message-document.d.ts +7 -0
- package/dist/core-tools/documents/ai-message-document.js +81 -0
- package/dist/core-tools/documents/ai-message-document.js.map +1 -0
- package/dist/core-tools/documents/ai-message-document.yaml +7 -0
- package/dist/core-tools/documents/error-message-document.yaml +2 -7
- package/dist/core-tools/documents/markdown-message-document.yaml +2 -9
- package/dist/core-tools/documents/message-document.yaml +2 -9
- package/dist/core-tools/documents/plain-message-document.yaml +2 -9
- package/dist/core-tools/services/batch-create-documents.service.js +12 -3
- package/dist/core-tools/services/batch-create-documents.service.js.map +1 -1
- package/dist/core-tools/services/create-document.service.d.ts +493 -33
- package/dist/core-tools/services/create-document.service.js +15 -60
- package/dist/core-tools/services/create-document.service.js.map +1 -1
- package/dist/core-tools/tools/create-document-tool.d.ts +1 -1
- package/dist/core-tools/tools/create-document-tool.js +4 -4
- package/dist/core-tools/tools/create-document-tool.js.map +1 -1
- package/dist/persistence/services/pipeline.service.d.ts +1 -1
- package/dist/persistence/services/pipeline.service.js +2 -2
- package/dist/persistence/services/pipeline.service.js.map +1 -1
- package/dist/persistence/subscriber/document.subscriber.js +0 -1
- package/dist/persistence/subscriber/document.subscriber.js.map +1 -1
- package/dist/persistence/subscriber/workflow.subscriber.js +0 -10
- package/dist/persistence/subscriber/workflow.subscriber.js.map +1 -1
- package/dist/schema-generator/services/json-schema-generator.service.js +1 -1
- package/dist/schema-generator/services/json-schema-generator.service.js.map +1 -1
- package/dist/workflow-processor/abstract/factory.abstract.js +1 -1
- package/dist/workflow-processor/abstract/factory.abstract.js.map +1 -1
- package/dist/workflow-processor/abstract/pipeline.abstract.js +1 -1
- package/dist/workflow-processor/abstract/pipeline.abstract.js.map +1 -1
- package/dist/workflow-processor/abstract/tool.abstract.js +1 -1
- package/dist/workflow-processor/abstract/tool.abstract.js.map +1 -1
- package/dist/workflow-processor/abstract/workflow.abstract.js +1 -1
- package/dist/workflow-processor/abstract/workflow.abstract.js.map +1 -1
- package/dist/workflow-processor/abstract/workspace.abstract.js +1 -1
- package/dist/workflow-processor/abstract/workspace.abstract.js.map +1 -1
- package/dist/workflow-processor/dtos/block-execution-context.dto.d.ts +3 -0
- package/dist/workflow-processor/dtos/block-execution-context.dto.js +7 -1
- package/dist/workflow-processor/dtos/block-execution-context.dto.js.map +1 -1
- package/dist/workflow-processor/dtos/workflow-state.dto.js +1 -1
- package/dist/workflow-processor/dtos/workflow-state.dto.js.map +1 -1
- package/dist/workflow-processor/services/block-registry.service.js +9 -0
- package/dist/workflow-processor/services/block-registry.service.js.map +1 -1
- package/dist/workflow-processor/services/create-pipeline.service.d.ts +4 -1
- package/dist/workflow-processor/services/create-pipeline.service.js +22 -3
- package/dist/workflow-processor/services/create-pipeline.service.js.map +1 -1
- package/dist/workflow-processor/services/root-processor.service.js +4 -5
- package/dist/workflow-processor/services/root-processor.service.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @loopstack/core
|
|
2
2
|
|
|
3
|
+
## 0.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8067b2d: This release focuses on enhancing the user experience in Loopstack Studio by introducing the ability to execute workflows with arguments directly from the frontend. This feature allows users to customize and control workflow execution more effectively. In addition to this major update, support for Vercel AI Elements has been added, along with the capability to define workflow and pipeline UI forms and actions through configuration. Various bug fixes and improvements are also included in this release.
|
|
8
|
+
- Add support for defining workflow and pipeline UI forms and actions via configuration.
|
|
9
|
+
- Add support for executing workflows with arguments from Loopstack Studio frontend.
|
|
10
|
+
- Add support for Vercel AI Elements in Loopstack Studio.
|
|
11
|
+
- Various bugfixes and improvements.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [8067b2d]
|
|
16
|
+
- @loopstack/shared@0.14.0
|
|
17
|
+
|
|
18
|
+
## 0.13.0
|
|
19
|
+
|
|
20
|
+
### Minor Changes
|
|
21
|
+
|
|
22
|
+
- 41aabbf: Use local frontend without authentication
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [41aabbf]
|
|
27
|
+
- @loopstack/shared@0.13.0
|
|
28
|
+
|
|
3
29
|
## 0.12.2
|
|
4
30
|
|
|
5
31
|
### Patch Changes
|
|
@@ -17,6 +17,7 @@ const mock_service_1 = require("./services/mock.service");
|
|
|
17
17
|
const common_2 = require("../common");
|
|
18
18
|
const workflow_processor_1 = require("../workflow-processor");
|
|
19
19
|
const persistence_1 = require("../persistence");
|
|
20
|
+
const ai_message_document_1 = require("./documents/ai-message-document");
|
|
20
21
|
let CoreToolsModule = class CoreToolsModule {
|
|
21
22
|
};
|
|
22
23
|
exports.CoreToolsModule = CoreToolsModule;
|
|
@@ -46,6 +47,7 @@ exports.CoreToolsModule = CoreToolsModule = __decorate([
|
|
|
46
47
|
index_1.ErrorMessageDocument,
|
|
47
48
|
index_1.MarkdownMessageDocument,
|
|
48
49
|
index_1.PlainMessageDocument,
|
|
50
|
+
ai_message_document_1.AiMessageDocument,
|
|
49
51
|
],
|
|
50
52
|
exports: [
|
|
51
53
|
core_tools_factory_service_1.CoreToolsFactoryService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-tools.module.js","sourceRoot":"","sources":["../../src/core-tools/core-tools.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,8CAAkD;AAClD,6EAAuE;AACvE,mCAiBiB;AACjB,yCAAmD;AACnD,8FAAwF;AACxF,0DAAsD;AACtD,sCAAyC;AACzC,8DAAgE;AAChE,gDAAmD;
|
|
1
|
+
{"version":3,"file":"core-tools.module.js","sourceRoot":"","sources":["../../src/core-tools/core-tools.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,8CAAkD;AAClD,6EAAuE;AACvE,mCAiBiB;AACjB,yCAAmD;AACnD,8FAAwF;AACxF,0DAAsD;AACtD,sCAAyC;AACzC,8DAAgE;AAChE,gDAAmD;AACnD,yEAAoE;AAqC7D,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,0CAAe;0BAAf,eAAe;IAnC3B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAY,EAAE,+BAAiB,EAAE,4CAAuB,CAAC;QACnE,SAAS,EAAE;YACT,oDAAuB;YAEvB,yBAAiB;YACjB,0BAAkB;YAClB,6BAAqB;YACrB,0BAAkB;YAClB,sBAAc;YACd,aAAK;YACL,2BAAmB;YACnB,gCAAqB;YACrB,4DAA2B;YAC3B,oBAAY;YACZ,0BAAW;YACX,kBAAU;YACV,oBAAY;YACZ,wBAAgB;YAChB,gBAAQ;YACR,kBAAU;YACV,sBAAc;YACd,uBAAe;YACf,4BAAoB;YACpB,+BAAuB;YACvB,4BAAoB;YAEpB,uCAAiB;SAClB;QACD,OAAO,EAAE;YACP,oDAAuB;YACvB,gCAAqB;SACtB;KACF,CAAC;IACD,IAAA,sBAAa,EAAC,oDAAuB,CAAC;GAC1B,eAAe,CAAG"}
|
|
@@ -0,0 +1,81 @@
|
|
|
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.AiMessageDocument = void 0;
|
|
13
|
+
const shared_1 = require("@loopstack/shared");
|
|
14
|
+
const zod_1 = require("zod");
|
|
15
|
+
const workflow_processor_1 = require("../../workflow-processor");
|
|
16
|
+
const class_transformer_1 = require("class-transformer");
|
|
17
|
+
const AiMessageDocumentSchema = zod_1.z.object({
|
|
18
|
+
id: zod_1.z.string(),
|
|
19
|
+
role: zod_1.z.union([
|
|
20
|
+
zod_1.z.literal('system'),
|
|
21
|
+
zod_1.z.literal('user'),
|
|
22
|
+
zod_1.z.literal('assistant')
|
|
23
|
+
]),
|
|
24
|
+
metadata: zod_1.z.any().optional(),
|
|
25
|
+
parts: zod_1.z.array(zod_1.z.any()),
|
|
26
|
+
});
|
|
27
|
+
const AiMessageDocumentConfigSchema = zod_1.z.object({
|
|
28
|
+
id: zod_1.z.union([
|
|
29
|
+
shared_1.TemplateExpression,
|
|
30
|
+
zod_1.z.string(),
|
|
31
|
+
]),
|
|
32
|
+
role: zod_1.z.union([
|
|
33
|
+
shared_1.TemplateExpression,
|
|
34
|
+
zod_1.z.literal('system'),
|
|
35
|
+
zod_1.z.literal('user'),
|
|
36
|
+
zod_1.z.literal('assistant')
|
|
37
|
+
]),
|
|
38
|
+
metadata: zod_1.z.union([
|
|
39
|
+
shared_1.TemplateExpression,
|
|
40
|
+
zod_1.z.any(),
|
|
41
|
+
]).optional(),
|
|
42
|
+
parts: zod_1.z.union([
|
|
43
|
+
shared_1.TemplateExpression,
|
|
44
|
+
zod_1.z.array(zod_1.z.any()),
|
|
45
|
+
]),
|
|
46
|
+
});
|
|
47
|
+
let AiMessageDocument = class AiMessageDocument extends workflow_processor_1.Document {
|
|
48
|
+
id;
|
|
49
|
+
role;
|
|
50
|
+
metadata;
|
|
51
|
+
parts;
|
|
52
|
+
};
|
|
53
|
+
exports.AiMessageDocument = AiMessageDocument;
|
|
54
|
+
__decorate([
|
|
55
|
+
(0, class_transformer_1.Expose)(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], AiMessageDocument.prototype, "id", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, class_transformer_1.Expose)(),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], AiMessageDocument.prototype, "role", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, class_transformer_1.Expose)(),
|
|
64
|
+
__metadata("design:type", Object)
|
|
65
|
+
], AiMessageDocument.prototype, "metadata", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, class_transformer_1.Expose)(),
|
|
68
|
+
__metadata("design:type", Array)
|
|
69
|
+
], AiMessageDocument.prototype, "parts", void 0);
|
|
70
|
+
exports.AiMessageDocument = AiMessageDocument = __decorate([
|
|
71
|
+
(0, shared_1.BlockConfig)({
|
|
72
|
+
config: {
|
|
73
|
+
type: 'document',
|
|
74
|
+
description: 'Ai Message Document.',
|
|
75
|
+
},
|
|
76
|
+
properties: AiMessageDocumentSchema,
|
|
77
|
+
configSchema: AiMessageDocumentConfigSchema,
|
|
78
|
+
configFile: __dirname + '/ai-message-document.yaml',
|
|
79
|
+
})
|
|
80
|
+
], AiMessageDocument);
|
|
81
|
+
//# sourceMappingURL=ai-message-document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ai-message-document.js","sourceRoot":"","sources":["../../../src/core-tools/documents/ai-message-document.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAoE;AACpE,6BAAwB;AACxB,iEAAoD;AACpD,yDAA2C;AAE3C,MAAM,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC;QACZ,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC;CACxB,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,OAAC,CAAC,KAAK,CAAC;QACV,2BAAkB;QAClB,OAAC,CAAC,MAAM,EAAE;KACX,CAAC;IACF,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC;QACZ,2BAAkB;QAClB,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnB,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC;QAChB,2BAAkB;QAClB,OAAC,CAAC,GAAG,EAAE;KACR,CAAC,CAAC,QAAQ,EAAE;IACb,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC;QACb,2BAAkB;QAClB,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,GAAG,EAAE,CAAC;KACjB,CAAC;CACH,CAAC,CAAC;AAWI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,6BAAQ;IAG7C,EAAE,CAAS;IAGX,IAAI,CAAkC;IAGtC,QAAQ,CAAO;IAGf,KAAK,CAAa;CACnB,CAAA;AAbY,8CAAiB;AAG5B;IADC,IAAA,0BAAM,GAAE;;6CACE;AAGX;IADC,IAAA,0BAAM,GAAE;;+CAC6B;AAGtC;IADC,IAAA,0BAAM,GAAE;;mDACM;AAGf;IADC,IAAA,0BAAM,GAAE;8BACF,KAAK;gDAAM;4BAZP,iBAAiB;IAT7B,IAAA,oBAAW,EAAC;QACX,MAAM,EAAE;YACN,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,sBAAsB;SACpC;QACD,UAAU,EAAE,uBAAuB;QACnC,YAAY,EAAE,6BAA6B;QAC3C,UAAU,EAAE,SAAS,GAAG,2BAA2B;KACpD,CAAC;GACW,iBAAiB,CAa7B"}
|
|
@@ -16,6 +16,9 @@ const shared_1 = require("@loopstack/shared");
|
|
|
16
16
|
const persistence_1 = require("../../persistence");
|
|
17
17
|
const workflow_processor_1 = require("../../workflow-processor");
|
|
18
18
|
const lodash_1 = require("lodash");
|
|
19
|
+
const zod_1 = require("zod");
|
|
20
|
+
const node_crypto_1 = require("node:crypto");
|
|
21
|
+
const zod_to_json_schema_1 = require("zod-to-json-schema");
|
|
19
22
|
let BatchCreateDocumentsService = BatchCreateDocumentsService_1 = class BatchCreateDocumentsService {
|
|
20
23
|
documentService;
|
|
21
24
|
templateExpressionEvaluatorService;
|
|
@@ -38,15 +41,21 @@ let BatchCreateDocumentsService = BatchCreateDocumentsService_1 = class BatchCre
|
|
|
38
41
|
if (!inputSchema && config.content) {
|
|
39
42
|
throw Error(`Document creates with content no schema defined.`);
|
|
40
43
|
}
|
|
44
|
+
const jsonSchema = (0, zod_to_json_schema_1.zodToJsonSchema)(inputSchema, {
|
|
45
|
+
name: 'documentSchema',
|
|
46
|
+
target: 'jsonSchema7',
|
|
47
|
+
})?.definitions?.documentSchema;
|
|
41
48
|
const documents = [];
|
|
42
49
|
for (let index = 0; index < args.items.length; index++) {
|
|
43
50
|
const itemDocumentData = (0, lodash_1.merge)({}, documentSkeleton, {
|
|
44
51
|
content: args.items[index],
|
|
45
52
|
});
|
|
46
53
|
const parsedDocumentContent = this.templateExpressionEvaluatorService.evaluateTemplate(itemDocumentData.content, tool, ['document']);
|
|
54
|
+
const messageId = args.items[index].id ? this.templateExpressionEvaluatorService.evaluateTemplate(args.items[index].id, tool, ['document'], zod_1.z.string()) : undefined;
|
|
47
55
|
const documentData = {
|
|
48
56
|
...documentSkeleton,
|
|
49
|
-
|
|
57
|
+
schema: jsonSchema,
|
|
58
|
+
messageId: messageId || (0, node_crypto_1.randomUUID)(),
|
|
50
59
|
content: parsedDocumentContent,
|
|
51
60
|
configKey: blockRegistryItem.name,
|
|
52
61
|
};
|
|
@@ -57,11 +66,11 @@ let BatchCreateDocumentsService = BatchCreateDocumentsService_1 = class BatchCre
|
|
|
57
66
|
this.logger.error(result.error);
|
|
58
67
|
throw new workflow_processor_1.SchemaValidationError('Document schema validation failed (strict)');
|
|
59
68
|
}
|
|
60
|
-
documentData.
|
|
69
|
+
documentData.error = result.error;
|
|
61
70
|
}
|
|
62
71
|
}
|
|
63
72
|
const documentEntity = this.documentService.create(tool, documentData);
|
|
64
|
-
this.logger.debug(`Created document "${documentData.
|
|
73
|
+
this.logger.debug(`Created document "${documentData.messageId}".`);
|
|
65
74
|
documents.push(documentEntity);
|
|
66
75
|
}
|
|
67
76
|
return documents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-create-documents.service.js","sourceRoot":"","sources":["../../../src/core-tools/services/batch-create-documents.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"batch-create-documents.service.js","sourceRoot":"","sources":["../../../src/core-tools/services/batch-create-documents.service.ts"],"names":[],"mappings":"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"}
|