@ekairos/story 1.6.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/dist/agent.d.ts +73 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +479 -0
- package/dist/agent.js.map +1 -0
- package/dist/document-parser.d.ts +16 -0
- package/dist/document-parser.d.ts.map +1 -0
- package/dist/document-parser.js +157 -0
- package/dist/document-parser.js.map +1 -0
- package/dist/engine.d.ts +22 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +36 -0
- package/dist/engine.js.map +1 -0
- package/dist/events.d.ts +28 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +204 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/schema.d.ts +108 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +64 -0
- package/dist/schema.js.map +1 -0
- package/dist/service.d.ts +45 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +203 -0
- package/dist/service.js.map +1 -0
- package/dist/steps/ai.d.ts +43 -0
- package/dist/steps/ai.d.ts.map +1 -0
- package/dist/steps/ai.js +136 -0
- package/dist/steps/ai.js.map +1 -0
- package/dist/steps/base.d.ts +14 -0
- package/dist/steps/base.d.ts.map +1 -0
- package/dist/steps/base.js +37 -0
- package/dist/steps/base.js.map +1 -0
- package/dist/steps/index.d.ts +5 -0
- package/dist/steps/index.d.ts.map +1 -0
- package/dist/steps/index.js +21 -0
- package/dist/steps/index.js.map +1 -0
- package/dist/steps/registry.d.ts +5 -0
- package/dist/steps/registry.d.ts.map +1 -0
- package/dist/steps/registry.js +29 -0
- package/dist/steps/registry.js.map +1 -0
- package/dist/steps/sampleStep.d.ts +2 -0
- package/dist/steps/sampleStep.d.ts.map +1 -0
- package/dist/steps/sampleStep.js +16 -0
- package/dist/steps/sampleStep.js.map +1 -0
- package/dist/steps-context.d.ts +12 -0
- package/dist/steps-context.d.ts.map +1 -0
- package/dist/steps-context.js +20 -0
- package/dist/steps-context.js.map +1 -0
- package/dist/story.d.ts +50 -0
- package/dist/story.d.ts.map +1 -0
- package/dist/story.js +55 -0
- package/dist/story.js.map +1 -0
- package/dist/storyEngine.d.ts +55 -0
- package/dist/storyEngine.d.ts.map +1 -0
- package/dist/storyEngine.js +51 -0
- package/dist/storyEngine.js.map +1 -0
- package/dist/storyRunner.d.ts +8 -0
- package/dist/storyRunner.d.ts.map +1 -0
- package/dist/storyRunner.js +56 -0
- package/dist/storyRunner.js.map +1 -0
- package/dist/workflows/index.d.ts +2 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +18 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/sampleWorkflow.d.ts +8 -0
- package/dist/workflows/sampleWorkflow.d.ts.map +1 -0
- package/dist/workflows/sampleWorkflow.js +19 -0
- package/dist/workflows/sampleWorkflow.js.map +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseAndStoreDocument = parseAndStoreDocument;
|
|
4
|
+
exports.processBatchDocuments = processBatchDocuments;
|
|
5
|
+
const admin_1 = require("@instantdb/admin");
|
|
6
|
+
const LLAMA_CLOUD_BASE_URL = 'https://api.cloud.llamaindex.ai/api/v1';
|
|
7
|
+
/**
|
|
8
|
+
* Sube un archivo a LlamaCloud para procesamiento
|
|
9
|
+
*/
|
|
10
|
+
async function uploadToLlamaCloud(buffer, fileName) {
|
|
11
|
+
const formData = new FormData();
|
|
12
|
+
const uint8Array = new Uint8Array(buffer);
|
|
13
|
+
const blob = new Blob([uint8Array], { type: 'application/pdf' });
|
|
14
|
+
formData.append('file', blob, fileName);
|
|
15
|
+
formData.append('parse_mode', 'parse_page_with_llm');
|
|
16
|
+
formData.append('high_res_ocr', 'true');
|
|
17
|
+
formData.append('adaptive_long_table', 'true');
|
|
18
|
+
formData.append('outlined_table_extraction', 'true');
|
|
19
|
+
formData.append('output_tables_as_HTML', 'true');
|
|
20
|
+
const response = await fetch(`${LLAMA_CLOUD_BASE_URL}/parsing/upload`, {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
headers: {
|
|
23
|
+
'Authorization': `Bearer ${process.env.LLAMA_CLOUD_API_KEY}`,
|
|
24
|
+
},
|
|
25
|
+
body: formData
|
|
26
|
+
});
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
const errorText = await response.text();
|
|
29
|
+
throw new Error(`LlamaCloud upload failed: ${response.status} ${errorText}`);
|
|
30
|
+
}
|
|
31
|
+
const result = await response.json();
|
|
32
|
+
return result.id;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Obtiene el estado del job de procesamiento
|
|
36
|
+
*/
|
|
37
|
+
async function getJobStatus(jobId) {
|
|
38
|
+
const response = await fetch(`${LLAMA_CLOUD_BASE_URL}/parsing/job/${jobId}`, {
|
|
39
|
+
method: 'GET',
|
|
40
|
+
headers: {
|
|
41
|
+
'Authorization': `Bearer ${process.env.LLAMA_CLOUD_API_KEY}`,
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
if (!response.ok) {
|
|
45
|
+
const errorText = await response.text();
|
|
46
|
+
throw new Error(`LlamaCloud status fetch failed: ${response.status} ${errorText}`);
|
|
47
|
+
}
|
|
48
|
+
return await response.json();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Obtiene el resultado del procesamiento de LlamaCloud
|
|
52
|
+
*/
|
|
53
|
+
async function getParseResult(jobId) {
|
|
54
|
+
const response = await fetch(`${LLAMA_CLOUD_BASE_URL}/parsing/job/${jobId}/result/markdown`, {
|
|
55
|
+
method: 'GET',
|
|
56
|
+
headers: {
|
|
57
|
+
'Authorization': `Bearer ${process.env.LLAMA_CLOUD_API_KEY}`,
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
if (!response.ok) {
|
|
61
|
+
const errorText = await response.text();
|
|
62
|
+
throw new Error(`LlamaCloud result fetch failed: ${response.status} ${errorText}`);
|
|
63
|
+
}
|
|
64
|
+
return await response.json();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Espera hasta que el procesamiento esté completo
|
|
68
|
+
*/
|
|
69
|
+
async function waitForProcessing(jobId, maxAttempts = 60) {
|
|
70
|
+
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
71
|
+
const statusResponse = await getJobStatus(jobId);
|
|
72
|
+
console.log(`Job ${jobId} status: ${statusResponse.status} (attempt ${attempt + 1}/${maxAttempts})`);
|
|
73
|
+
if (statusResponse.status === 'SUCCESS' || statusResponse.status === 'COMPLETED') {
|
|
74
|
+
return await getParseResult(jobId);
|
|
75
|
+
}
|
|
76
|
+
if (statusResponse.status === 'ERROR' || statusResponse.status === 'FAILED') {
|
|
77
|
+
throw new Error(`LlamaCloud processing failed with status: ${statusResponse.status}`);
|
|
78
|
+
}
|
|
79
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
80
|
+
}
|
|
81
|
+
throw new Error('LlamaCloud processing timeout');
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Procesa un documento utilizando LlamaParse y almacena el resultado en la base de datos
|
|
85
|
+
*/
|
|
86
|
+
async function parseAndStoreDocument(db, buffer, fileName, path, fileId) {
|
|
87
|
+
try {
|
|
88
|
+
const existingDocument = await db.query({
|
|
89
|
+
documents: {
|
|
90
|
+
$: {
|
|
91
|
+
where: { 'file.id': fileId }
|
|
92
|
+
},
|
|
93
|
+
file: {}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
if (existingDocument.documents && existingDocument.documents.length > 0) {
|
|
97
|
+
const docId = existingDocument.documents[0].id;
|
|
98
|
+
console.log(`Documento ya existe para el archivo ${fileName}: ${docId}`);
|
|
99
|
+
return docId;
|
|
100
|
+
}
|
|
101
|
+
console.log(`Procesando nuevo documento: ${fileName}`);
|
|
102
|
+
const jobId = await uploadToLlamaCloud(buffer, fileName);
|
|
103
|
+
console.log(`Documento subido a LlamaCloud con job ID: ${jobId}`);
|
|
104
|
+
const result = await waitForProcessing(jobId);
|
|
105
|
+
const pages = [];
|
|
106
|
+
if (result.markdown) {
|
|
107
|
+
pages.push({
|
|
108
|
+
id: (0, admin_1.id)(),
|
|
109
|
+
text: result.markdown
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
if (result.pages && result.pages.length > 0) {
|
|
113
|
+
for (const page of result.pages) {
|
|
114
|
+
pages.push({
|
|
115
|
+
id: (0, admin_1.id)(),
|
|
116
|
+
text: page.text
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (pages.length === 0) {
|
|
121
|
+
throw new Error('No se pudo extraer contenido del documento');
|
|
122
|
+
}
|
|
123
|
+
const documentId = (0, admin_1.id)();
|
|
124
|
+
await db.transact([
|
|
125
|
+
db.tx.documents[documentId].update({
|
|
126
|
+
content: { pages },
|
|
127
|
+
processedAt: new Date().toISOString()
|
|
128
|
+
}),
|
|
129
|
+
db.tx.documents[documentId].link({
|
|
130
|
+
file: fileId
|
|
131
|
+
})
|
|
132
|
+
]);
|
|
133
|
+
console.log(`Documento procesado con éxito: ${fileName} -> ${documentId}`);
|
|
134
|
+
return documentId;
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
console.error(`Error al procesar el documento ${fileName}:`, error);
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Procesa un conjunto de documentos en segundo plano
|
|
143
|
+
* Puede ser utilizado con after() en Next.js o en cualquier contexto de procesamiento asíncrono
|
|
144
|
+
*/
|
|
145
|
+
async function processBatchDocuments(db, documents) {
|
|
146
|
+
try {
|
|
147
|
+
const promises = documents.map(doc => parseAndStoreDocument(db, doc.buffer, doc.fileName, doc.path, doc.fileId));
|
|
148
|
+
const results = await Promise.all(promises);
|
|
149
|
+
console.log('Todos los documentos procesados correctamente');
|
|
150
|
+
return results;
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error('Error en el procesamiento por lotes de documentos:', error);
|
|
154
|
+
throw error;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=document-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-parser.js","sourceRoot":"","sources":["../src/document-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare function evaluateToolCallsStep(params: {
|
|
2
|
+
storyKey: string;
|
|
3
|
+
toolCalls: Array<{
|
|
4
|
+
toolCallId: string;
|
|
5
|
+
toolName: string;
|
|
6
|
+
args: any;
|
|
7
|
+
}>;
|
|
8
|
+
contextId: string;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
message?: string;
|
|
12
|
+
} | {
|
|
13
|
+
success: boolean;
|
|
14
|
+
message: any;
|
|
15
|
+
}>;
|
|
16
|
+
export declare function onEndStep(params: {
|
|
17
|
+
storyKey: string;
|
|
18
|
+
lastEvent: any;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
end: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;;;;GASjK;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,GAAG,CAAA;CAAE;;GAc3E"}
|
package/dist/engine.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluateToolCallsStep = evaluateToolCallsStep;
|
|
4
|
+
exports.onEndStep = onEndStep;
|
|
5
|
+
const storyEngine_1 = require("./storyEngine");
|
|
6
|
+
async function evaluateToolCallsStep(params) {
|
|
7
|
+
"use step";
|
|
8
|
+
try {
|
|
9
|
+
const rt = storyEngine_1.engine.get(params.storyKey);
|
|
10
|
+
if (!rt?.callbacks?.evaluateToolCalls)
|
|
11
|
+
return { success: true };
|
|
12
|
+
return await rt.callbacks.evaluateToolCalls(params.toolCalls);
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
return { success: false, message: error?.message ?? String(error) };
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
async function onEndStep(params) {
|
|
19
|
+
"use step";
|
|
20
|
+
try {
|
|
21
|
+
const rt = storyEngine_1.engine.get(params.storyKey);
|
|
22
|
+
if (!rt?.callbacks?.onEnd)
|
|
23
|
+
return { end: true };
|
|
24
|
+
const result = await rt.callbacks.onEnd(params.lastEvent);
|
|
25
|
+
if (typeof result === "boolean")
|
|
26
|
+
return { end: result };
|
|
27
|
+
if (result && typeof result === "object" && Object.prototype.hasOwnProperty.call(result, "end")) {
|
|
28
|
+
return { end: Boolean(result.end) };
|
|
29
|
+
}
|
|
30
|
+
return { end: true };
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return { end: true };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":";;AAEA,sDASC;AAED,8BAcC;AA3BD,+CAAsC;AAE/B,KAAK,UAAU,qBAAqB,CAAC,MAAsH;IAChK,UAAU,CAAA;IACV,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,oBAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,iBAAiB;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC/D,OAAO,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IAC/D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IACrE,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,SAAS,CAAC,MAA4C;IAC1E,UAAU,CAAA;IACV,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,oBAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK;YAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QAC/C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QACzD,IAAI,OAAO,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;QACvD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAChG,OAAO,EAAE,GAAG,EAAE,OAAO,CAAE,MAAc,CAAC,GAAG,CAAC,EAAE,CAAA;QAC9C,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACtB,CAAC;AACH,CAAC"}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ModelMessage, type UIMessage } from "ai";
|
|
2
|
+
import type { ContextEvent } from "./service";
|
|
3
|
+
export declare const USER_MESSAGE_TYPE = "user.message";
|
|
4
|
+
export declare const ASSISTANT_MESSAGE_TYPE = "assistant.message";
|
|
5
|
+
export declare const SYSTEM_MESSAGE_TYPE = "system.message";
|
|
6
|
+
export declare const WEB_CHANNEL = "web";
|
|
7
|
+
export declare const AGENT_CHANNEL = "whatsapp";
|
|
8
|
+
export declare const EMAIL_CHANNEL = "email";
|
|
9
|
+
export declare function createUserEventFromUIMessages(messages: UIMessage[]): ContextEvent;
|
|
10
|
+
export declare function createAssistantEventFromUIMessages(eventId: string, messages: UIMessage[]): ContextEvent;
|
|
11
|
+
export declare function convertToUIMessage(event: ContextEvent): UIMessage;
|
|
12
|
+
export declare function convertEventsToModelMessages(events: ContextEvent[]): Promise<ModelMessage[]>;
|
|
13
|
+
export declare function convertEventToModelMessages(event: ContextEvent): Promise<ModelMessage[]>;
|
|
14
|
+
export type AIMessage = {
|
|
15
|
+
id: string;
|
|
16
|
+
role: "user" | "assistant" | "system";
|
|
17
|
+
content: string;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
};
|
|
20
|
+
export type ResponseMessage = {
|
|
21
|
+
id: string;
|
|
22
|
+
timestamp: Date;
|
|
23
|
+
modelId: string;
|
|
24
|
+
headers?: Record<string, string>;
|
|
25
|
+
message: ModelMessage;
|
|
26
|
+
};
|
|
27
|
+
export declare function convertModelMessageToEvent(eventId: string, message: ResponseMessage): ContextEvent;
|
|
28
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,IAAI,CAAA;AAC9E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAQ7C,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAC/C,eAAO,MAAM,sBAAsB,sBAAsB,CAAA;AACzD,eAAO,MAAM,mBAAmB,mBAAmB,CAAA;AAEnD,eAAO,MAAM,WAAW,QAAQ,CAAA;AAChC,eAAO,MAAM,aAAa,aAAa,CAAA;AACvC,eAAO,MAAM,aAAa,UAAU,CAAA;AAEpC,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,CAgBjF;AAED,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,CAgBvG;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAkBjE;AAED,wBAAsB,4BAA4B,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAM3E;AAExB,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA6B9F;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,YAAY,CAAA;CACtB,CAAA;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,YAAY,CAwBlG"}
|
package/dist/events.js
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EMAIL_CHANNEL = exports.AGENT_CHANNEL = exports.WEB_CHANNEL = exports.SYSTEM_MESSAGE_TYPE = exports.ASSISTANT_MESSAGE_TYPE = exports.USER_MESSAGE_TYPE = void 0;
|
|
4
|
+
exports.createUserEventFromUIMessages = createUserEventFromUIMessages;
|
|
5
|
+
exports.createAssistantEventFromUIMessages = createAssistantEventFromUIMessages;
|
|
6
|
+
exports.convertToUIMessage = convertToUIMessage;
|
|
7
|
+
exports.convertEventsToModelMessages = convertEventsToModelMessages;
|
|
8
|
+
exports.convertEventToModelMessages = convertEventToModelMessages;
|
|
9
|
+
exports.convertModelMessageToEvent = convertModelMessageToEvent;
|
|
10
|
+
const admin_1 = require("@instantdb/admin");
|
|
11
|
+
const ai_1 = require("ai");
|
|
12
|
+
const document_parser_1 = require("./document-parser");
|
|
13
|
+
const db = (0, admin_1.init)({
|
|
14
|
+
appId: process.env.NEXT_PUBLIC_INSTANT_APP_ID,
|
|
15
|
+
adminToken: process.env.INSTANT_APP_ADMIN_TOKEN,
|
|
16
|
+
});
|
|
17
|
+
exports.USER_MESSAGE_TYPE = "user.message";
|
|
18
|
+
exports.ASSISTANT_MESSAGE_TYPE = "assistant.message";
|
|
19
|
+
exports.SYSTEM_MESSAGE_TYPE = "system.message";
|
|
20
|
+
exports.WEB_CHANNEL = "web";
|
|
21
|
+
exports.AGENT_CHANNEL = "whatsapp";
|
|
22
|
+
exports.EMAIL_CHANNEL = "email";
|
|
23
|
+
function createUserEventFromUIMessages(messages) {
|
|
24
|
+
if (!Array.isArray(messages) || messages.length === 0) {
|
|
25
|
+
throw new Error("Missing messages to create event");
|
|
26
|
+
}
|
|
27
|
+
const lastMessage = messages[messages.length - 1];
|
|
28
|
+
return {
|
|
29
|
+
id: lastMessage.id,
|
|
30
|
+
type: exports.USER_MESSAGE_TYPE,
|
|
31
|
+
channel: exports.WEB_CHANNEL,
|
|
32
|
+
content: {
|
|
33
|
+
parts: lastMessage.parts,
|
|
34
|
+
},
|
|
35
|
+
createdAt: new Date().toISOString(),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function createAssistantEventFromUIMessages(eventId, messages) {
|
|
39
|
+
if (!Array.isArray(messages) || messages.length === 0) {
|
|
40
|
+
throw new Error("Missing messages to create event");
|
|
41
|
+
}
|
|
42
|
+
const lastMessage = messages[messages.length - 1];
|
|
43
|
+
return {
|
|
44
|
+
id: eventId,
|
|
45
|
+
type: exports.ASSISTANT_MESSAGE_TYPE,
|
|
46
|
+
channel: exports.WEB_CHANNEL,
|
|
47
|
+
content: {
|
|
48
|
+
parts: lastMessage.parts,
|
|
49
|
+
},
|
|
50
|
+
createdAt: new Date().toISOString(),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function convertToUIMessage(event) {
|
|
54
|
+
let role;
|
|
55
|
+
if (event.type === exports.USER_MESSAGE_TYPE) {
|
|
56
|
+
role = "user";
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
role = "assistant";
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
id: event.id,
|
|
63
|
+
role: role,
|
|
64
|
+
parts: event.content.parts,
|
|
65
|
+
metadata: {
|
|
66
|
+
channel: event.channel,
|
|
67
|
+
type: event.type,
|
|
68
|
+
createdAt: event.createdAt,
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
async function convertEventsToModelMessages(events) {
|
|
73
|
+
const results = [];
|
|
74
|
+
for (const event of events) {
|
|
75
|
+
const messages = await convertEventToModelMessages(event);
|
|
76
|
+
results.push(messages);
|
|
77
|
+
}
|
|
78
|
+
return results.flat();
|
|
79
|
+
}
|
|
80
|
+
async function convertEventToModelMessages(event) {
|
|
81
|
+
// convert files in message
|
|
82
|
+
// const files = event.content.parts.filter(part => part.type === "file")
|
|
83
|
+
// 1. copy event to new . we will manipulate the parts
|
|
84
|
+
// 2. each file part will be converted using convertFilePart
|
|
85
|
+
const convertedParts = await Promise.all((event.content?.parts || []).map(async (part) => {
|
|
86
|
+
if (part?.type === "file") {
|
|
87
|
+
return await convertFilePart(part);
|
|
88
|
+
}
|
|
89
|
+
return [part];
|
|
90
|
+
}));
|
|
91
|
+
const newEvent = {
|
|
92
|
+
...event,
|
|
93
|
+
content: {
|
|
94
|
+
...event.content,
|
|
95
|
+
parts: convertedParts.flat(),
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
// convert event to convertToModelMessages compatible
|
|
99
|
+
let message = convertToUIMessage(newEvent);
|
|
100
|
+
// use ai sdk helper
|
|
101
|
+
return (0, ai_1.convertToModelMessages)([message]);
|
|
102
|
+
}
|
|
103
|
+
function convertModelMessageToEvent(eventId, message) {
|
|
104
|
+
let type;
|
|
105
|
+
switch (message.message.role) {
|
|
106
|
+
case "user":
|
|
107
|
+
type = exports.USER_MESSAGE_TYPE;
|
|
108
|
+
break;
|
|
109
|
+
case "assistant":
|
|
110
|
+
type = exports.ASSISTANT_MESSAGE_TYPE;
|
|
111
|
+
break;
|
|
112
|
+
case "system":
|
|
113
|
+
type = exports.SYSTEM_MESSAGE_TYPE;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
id: eventId,
|
|
118
|
+
type: type,
|
|
119
|
+
channel: exports.WEB_CHANNEL,
|
|
120
|
+
content: {
|
|
121
|
+
parts: message.message.content,
|
|
122
|
+
},
|
|
123
|
+
createdAt: message.timestamp.toISOString(),
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
async function convertFilePart(part) {
|
|
127
|
+
// file part has data:fileId=xxxx in its url
|
|
128
|
+
// we will extract that file id and call instantdb to get the file url
|
|
129
|
+
if (!part?.url || typeof part.url !== "string") {
|
|
130
|
+
return [part];
|
|
131
|
+
}
|
|
132
|
+
// Look for 'data:fileId=' pattern and extract the fileId
|
|
133
|
+
const fileIdMatch = part.url.match(/data:fileId=([A-Za-z0-9_\-]+)/);
|
|
134
|
+
const fileId = fileIdMatch ? fileIdMatch[1] : null;
|
|
135
|
+
if (!fileId) {
|
|
136
|
+
return [part];
|
|
137
|
+
}
|
|
138
|
+
try {
|
|
139
|
+
const fileQuery = await db.query({
|
|
140
|
+
$files: {
|
|
141
|
+
$: {
|
|
142
|
+
where: {
|
|
143
|
+
id: fileId,
|
|
144
|
+
},
|
|
145
|
+
limit: 1,
|
|
146
|
+
},
|
|
147
|
+
document: {},
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
const fileRecord = Array.isArray(fileQuery.$files) ? fileQuery.$files[0] : undefined;
|
|
151
|
+
if (!fileRecord) {
|
|
152
|
+
return [part];
|
|
153
|
+
}
|
|
154
|
+
let documentRecord = fileRecord.document;
|
|
155
|
+
if (!documentRecord || (Array.isArray(documentRecord) && documentRecord.length === 0)) {
|
|
156
|
+
const fileResponse = await fetch(fileRecord.url);
|
|
157
|
+
if (!fileResponse.ok) {
|
|
158
|
+
return [part];
|
|
159
|
+
}
|
|
160
|
+
const buffer = await fileResponse.arrayBuffer();
|
|
161
|
+
const documentId = await (0, document_parser_1.parseAndStoreDocument)(db, Buffer.from(buffer), fileRecord.path, fileRecord.path, fileRecord.id);
|
|
162
|
+
const documentQuery = await db.query({
|
|
163
|
+
documents: {
|
|
164
|
+
$: {
|
|
165
|
+
where: {
|
|
166
|
+
id: documentId,
|
|
167
|
+
},
|
|
168
|
+
limit: 1,
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
documentRecord = Array.isArray(documentQuery.documents) ? documentQuery.documents[0] : undefined;
|
|
173
|
+
}
|
|
174
|
+
const parts = [];
|
|
175
|
+
const fileName = documentRecord && typeof documentRecord === "object" && "fileName" in documentRecord
|
|
176
|
+
? String(documentRecord.fileName)
|
|
177
|
+
: String(fileRecord.path || "Unknown");
|
|
178
|
+
parts.push({
|
|
179
|
+
type: "text",
|
|
180
|
+
text: `User attached a file.\nFile ID: ${fileRecord.id}\nFile Name: "${fileName}"\nMedia Type: ${part.mediaType || "unknown"}`,
|
|
181
|
+
});
|
|
182
|
+
if (documentRecord?.content && Array.isArray(documentRecord.content.pages)) {
|
|
183
|
+
const pages = documentRecord.content.pages;
|
|
184
|
+
const pageTexts = pages
|
|
185
|
+
.map((page, index) => {
|
|
186
|
+
const text = typeof page.text === "string" ? page.text : "";
|
|
187
|
+
return `\n\n--- Page ${index + 1} ---\n\n${text}`;
|
|
188
|
+
})
|
|
189
|
+
.join("");
|
|
190
|
+
if (pageTexts.length > 0) {
|
|
191
|
+
parts.push({
|
|
192
|
+
type: "text",
|
|
193
|
+
text: `Document transcription for File ID ${fileRecord.id}:${pageTexts}`,
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return parts;
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
console.error("convertFilePart error", error);
|
|
201
|
+
return [part];
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":";;;AAkBA,sEAgBC;AAED,gFAgBC;AAED,gDAkBC;AAED,oEAMwB;AAExB,kEA6BC;AAiBD,gEAwBC;AAxJD,4CAA2C;AAC3C,2BAA8E;AAE9E,uDAAyD;AAEzD,MAAM,EAAE,GAAG,IAAA,YAAI,EAAC;IACd,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,0BAAoC;IACvD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAiC;CAC1D,CAAC,CAAA;AAEW,QAAA,iBAAiB,GAAG,cAAc,CAAA;AAClC,QAAA,sBAAsB,GAAG,mBAAmB,CAAA;AAC5C,QAAA,mBAAmB,GAAG,gBAAgB,CAAA;AAEtC,QAAA,WAAW,GAAG,KAAK,CAAA;AACnB,QAAA,aAAa,GAAG,UAAU,CAAA;AAC1B,QAAA,aAAa,GAAG,OAAO,CAAA;AAEpC,SAAgB,6BAA6B,CAAC,QAAqB;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEjD,OAAO;QACL,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,IAAI,EAAE,yBAAiB;QACvB,OAAO,EAAE,mBAAW;QACpB,OAAO,EAAE;YACP,KAAK,EAAE,WAAW,CAAC,KAAK;SACzB;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;AACH,CAAC;AAED,SAAgB,kCAAkC,CAAC,OAAe,EAAE,QAAqB;IACvF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEjD,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,8BAAsB;QAC5B,OAAO,EAAE,mBAAW;QACpB,OAAO,EAAE;YACP,KAAK,EAAE,WAAW,CAAC,KAAK;SACzB;QACD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAmB;IACpD,IAAI,IAA0B,CAAA;IAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAiB,EAAE,CAAC;QACrC,IAAI,GAAG,MAAM,CAAA;IACf,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,WAAW,CAAA;IACpB,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;QAC1B,QAAQ,EAAE;YACR,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;KACF,CAAA;AACH,CAAC;AAEM,KAAK,UAAU,4BAA4B,CAAC,MAAsB;IACvE,MAAM,OAAO,GAAqB,EAAE,CAAA;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,2BAA2B,CAAC,KAAK,CAAC,CAAA;QACzD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAA;AAAA,CAAC;AAEjB,KAAK,UAAU,2BAA2B,CAAC,KAAmB;IAEnE,2BAA2B;IAC3B,yEAAyE;IACzE,sDAAsD;IACtD,4DAA4D;IAE5D,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAS,EAAE,EAAE;QACnD,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC,CAAC,CACH,CAAA;IAED,MAAM,QAAQ,GAAiB;QAC7B,GAAG,KAAK;QACR,OAAO,EAAE;YACP,GAAG,KAAK,CAAC,OAAO;YAChB,KAAK,EAAE,cAAc,CAAC,IAAI,EAAE;SAC7B;KACF,CAAA;IAED,qDAAqD;IACrD,IAAI,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAE1C,oBAAoB;IACpB,OAAO,IAAA,2BAAsB,EAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAC1C,CAAC;AAiBD,SAAgB,0BAA0B,CAAC,OAAe,EAAE,OAAwB;IAElF,IAAI,IAAI,CAAC;IACT,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,MAAM;YACT,IAAI,GAAG,yBAAiB,CAAC;YACzB,MAAM;QACR,KAAK,WAAW;YACd,IAAI,GAAG,8BAAsB,CAAC;YAC9B,MAAM;QACR,KAAK,QAAQ;YACX,IAAI,GAAG,2BAAmB,CAAC;YAC3B,MAAM;IACV,CAAC;IAED,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,mBAAW;QACpB,OAAO,EAAE;YACP,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;SAC/B;QACD,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;KAC3C,CAAA;AACH,CAAC;AAGD,KAAK,UAAU,eAAe,CAAC,IAAS;IACtC,4CAA4C;IAC5C,sEAAsE;IACtE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAED,yDAAyD;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;IACnE,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAElD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC;YAC/B,MAAM,EAAE;gBACN,CAAC,EAAE;oBACD,KAAK,EAAE;wBACL,EAAE,EAAE,MAAM;qBACX;oBACD,KAAK,EAAE,CAAC;iBACT;gBACD,QAAQ,EAAE,EAAE;aACb;SACF,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACpF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC;QAED,IAAI,cAAc,GAAG,UAAU,CAAC,QAAe,CAAA;QAC/C,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,GAAa,CAAC,CAAA;YAC1D,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAA;YAC/C,MAAM,UAAU,GAAG,MAAM,IAAA,uCAAqB,EAC5C,EAAE,EACF,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EACnB,UAAU,CAAC,IAAc,EACzB,UAAU,CAAC,IAAc,EACzB,UAAU,CAAC,EAAY,CACxB,CAAA;YAED,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC;gBACnC,SAAS,EAAE;oBACT,CAAC,EAAE;wBACD,KAAK,EAAE;4BACL,EAAE,EAAE,UAAU;yBACf;wBACD,KAAK,EAAE,CAAC;qBACT;iBACF;aACF,CAAC,CAAA;YAEF,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAClG,CAAC;QAED,MAAM,KAAK,GAAU,EAAE,CAAA;QAEvB,MAAM,QAAQ,GAAG,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,UAAU,IAAI,cAAc;YACnG,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;YACjC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,SAAS,CAAC,CAAA;QAExC,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,mCAAmC,UAAU,CAAC,EAAE,iBAAiB,QAAQ,kBAAkB,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE;SAC/H,CAAC,CAAA;QAEF,IAAI,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAA;YAC1C,MAAM,SAAS,GAAG,KAAK;iBACpB,GAAG,CAAC,CAAC,IAA6B,EAAE,KAAa,EAAE,EAAE;gBACpD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC3D,OAAO,gBAAgB,KAAK,GAAG,CAAC,WAAW,IAAI,EAAE,CAAA;YACnD,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;YAEX,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,sCAAsC,UAAU,CAAC,EAAE,IAAI,SAAS,EAAE;iBACzE,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAA;QAC7C,OAAO,CAAC,IAAI,CAAC,CAAA;IACf,CAAC;AACH,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from "./story";
|
|
2
|
+
export * from "./storyEngine";
|
|
3
|
+
export * from "./storyRunner";
|
|
4
|
+
export * from "./engine";
|
|
5
|
+
export * from "./schema";
|
|
6
|
+
export * from "./service";
|
|
7
|
+
export * from "./steps-context";
|
|
8
|
+
export * from "./agent";
|
|
9
|
+
export * from "./events";
|
|
10
|
+
export * from "./document-parser";
|
|
11
|
+
export * as Steps from "./steps";
|
|
12
|
+
export * as Workflows from "./workflows";
|
|
13
|
+
export * from "./workflows/sampleWorkflow";
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAA;AACxC,cAAc,4BAA4B,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
|
+
};
|
|
21
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
+
var ownKeys = function(o) {
|
|
23
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
+
var ar = [];
|
|
25
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
return ownKeys(o);
|
|
29
|
+
};
|
|
30
|
+
return function (mod) {
|
|
31
|
+
if (mod && mod.__esModule) return mod;
|
|
32
|
+
var result = {};
|
|
33
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
+
__setModuleDefault(result, mod);
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
})();
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.Workflows = exports.Steps = void 0;
|
|
40
|
+
__exportStar(require("./story"), exports);
|
|
41
|
+
__exportStar(require("./storyEngine"), exports);
|
|
42
|
+
__exportStar(require("./storyRunner"), exports);
|
|
43
|
+
__exportStar(require("./engine"), exports);
|
|
44
|
+
__exportStar(require("./schema"), exports);
|
|
45
|
+
__exportStar(require("./service"), exports);
|
|
46
|
+
__exportStar(require("./steps-context"), exports);
|
|
47
|
+
__exportStar(require("./agent"), exports);
|
|
48
|
+
__exportStar(require("./events"), exports);
|
|
49
|
+
__exportStar(require("./document-parser"), exports);
|
|
50
|
+
exports.Steps = __importStar(require("./steps"));
|
|
51
|
+
exports.Workflows = __importStar(require("./workflows"));
|
|
52
|
+
__exportStar(require("./workflows/sampleWorkflow"), exports);
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,gDAA6B;AAC7B,gDAA6B;AAC7B,2CAAwB;AACxB,2CAAwB;AACxB,4CAAyB;AACzB,kDAA+B;AAC/B,0CAAuB;AACvB,2CAAwB;AACxB,oDAAiC;AACjC,iDAAgC;AAChC,yDAAwC;AACxC,6DAA0C"}
|