@lupaflow/core 0.1.1 → 0.1.2
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/index.cjs +204 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +54 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.js +163 -0
- package/dist/index.js.map +1 -0
- package/package.json +3 -2
- package/tsconfig.json +0 -8
- package/tsup.config.ts +0 -9
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/index.ts
|
|
21
|
+
var src_exports = {};
|
|
22
|
+
__export(src_exports, {
|
|
23
|
+
ConfigError: () => ConfigError,
|
|
24
|
+
EventBus: () => EventBus,
|
|
25
|
+
LupaError: () => LupaError,
|
|
26
|
+
MemoryError: () => MemoryError,
|
|
27
|
+
ProviderError: () => ProviderError,
|
|
28
|
+
RetryError: () => RetryError,
|
|
29
|
+
ToolError: () => ToolError,
|
|
30
|
+
WorkflowError: () => WorkflowError,
|
|
31
|
+
chunkArray: () => chunkArray,
|
|
32
|
+
deepMerge: () => deepMerge,
|
|
33
|
+
delay: () => delay,
|
|
34
|
+
estimateTokens: () => estimateTokens,
|
|
35
|
+
generateId: () => generateId,
|
|
36
|
+
globalEventBus: () => globalEventBus,
|
|
37
|
+
truncate: () => truncate
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(src_exports);
|
|
40
|
+
|
|
41
|
+
// src/events.ts
|
|
42
|
+
var import_ulid = require("ulid");
|
|
43
|
+
var EventBus = class {
|
|
44
|
+
handlers = /* @__PURE__ */ new Map();
|
|
45
|
+
wildcardHandlers = /* @__PURE__ */ new Set();
|
|
46
|
+
history = [];
|
|
47
|
+
maxHistory = 1e3;
|
|
48
|
+
on(name, handler) {
|
|
49
|
+
if (!this.handlers.has(name)) {
|
|
50
|
+
this.handlers.set(name, /* @__PURE__ */ new Set());
|
|
51
|
+
}
|
|
52
|
+
this.handlers.get(name).add(handler);
|
|
53
|
+
return () => this.handlers.get(name)?.delete(handler);
|
|
54
|
+
}
|
|
55
|
+
onAny(handler) {
|
|
56
|
+
this.wildcardHandlers.add(handler);
|
|
57
|
+
return () => this.wildcardHandlers.delete(handler);
|
|
58
|
+
}
|
|
59
|
+
async emit(name, data) {
|
|
60
|
+
const event = {
|
|
61
|
+
id: (0, import_ulid.ulid)(),
|
|
62
|
+
name,
|
|
63
|
+
timestamp: Date.now(),
|
|
64
|
+
...data
|
|
65
|
+
};
|
|
66
|
+
this.history.push(event);
|
|
67
|
+
if (this.history.length > this.maxHistory) {
|
|
68
|
+
this.history.shift();
|
|
69
|
+
}
|
|
70
|
+
const handlers = this.handlers.get(name);
|
|
71
|
+
if (handlers) {
|
|
72
|
+
for (const handler of handlers) {
|
|
73
|
+
await handler(event);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
for (const handler of this.wildcardHandlers) {
|
|
77
|
+
await handler(event);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
getHistory() {
|
|
81
|
+
return [...this.history];
|
|
82
|
+
}
|
|
83
|
+
clearHistory() {
|
|
84
|
+
this.history = [];
|
|
85
|
+
}
|
|
86
|
+
removeAllListeners() {
|
|
87
|
+
this.handlers.clear();
|
|
88
|
+
this.wildcardHandlers.clear();
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
var globalEventBus = new EventBus();
|
|
92
|
+
|
|
93
|
+
// src/errors.ts
|
|
94
|
+
var LupaError = class extends Error {
|
|
95
|
+
code;
|
|
96
|
+
details;
|
|
97
|
+
constructor(message, code, details) {
|
|
98
|
+
super(message);
|
|
99
|
+
this.name = "LupaError";
|
|
100
|
+
this.code = code;
|
|
101
|
+
this.details = details;
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
var ProviderError = class extends LupaError {
|
|
105
|
+
provider;
|
|
106
|
+
constructor(provider, message, details) {
|
|
107
|
+
super(`[${provider}] ${message}`, "PROVIDER_ERROR", details);
|
|
108
|
+
this.name = "ProviderError";
|
|
109
|
+
this.provider = provider;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
var ToolError = class extends LupaError {
|
|
113
|
+
tool;
|
|
114
|
+
constructor(tool, message, details) {
|
|
115
|
+
super(`[${tool}] ${message}`, "TOOL_ERROR", details);
|
|
116
|
+
this.name = "ToolError";
|
|
117
|
+
this.tool = tool;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
var MemoryError = class extends LupaError {
|
|
121
|
+
constructor(message, details) {
|
|
122
|
+
super(message, "MEMORY_ERROR", details);
|
|
123
|
+
this.name = "MemoryError";
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
var ConfigError = class extends LupaError {
|
|
127
|
+
constructor(message, details) {
|
|
128
|
+
super(message, "CONFIG_ERROR", details);
|
|
129
|
+
this.name = "ConfigError";
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
var WorkflowError = class extends LupaError {
|
|
133
|
+
stepId;
|
|
134
|
+
constructor(message, stepId, details) {
|
|
135
|
+
super(message, "WORKFLOW_ERROR", { stepId, ...details });
|
|
136
|
+
this.name = "WorkflowError";
|
|
137
|
+
this.stepId = stepId;
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
var RetryError = class extends LupaError {
|
|
141
|
+
attempts;
|
|
142
|
+
lastError;
|
|
143
|
+
constructor(message, attempts, lastError) {
|
|
144
|
+
super(message, "RETRY_ERROR", { attempts, lastError: lastError.message });
|
|
145
|
+
this.name = "RetryError";
|
|
146
|
+
this.attempts = attempts;
|
|
147
|
+
this.lastError = lastError;
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
// src/utils.ts
|
|
152
|
+
var import_ulid2 = require("ulid");
|
|
153
|
+
function generateId() {
|
|
154
|
+
return (0, import_ulid2.ulid)();
|
|
155
|
+
}
|
|
156
|
+
function delay(ms) {
|
|
157
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
158
|
+
}
|
|
159
|
+
function truncate(str, maxLength) {
|
|
160
|
+
if (str.length <= maxLength) return str;
|
|
161
|
+
return str.slice(0, maxLength - 3) + "...";
|
|
162
|
+
}
|
|
163
|
+
function estimateTokens(text) {
|
|
164
|
+
return Math.ceil((text || "").length / 4);
|
|
165
|
+
}
|
|
166
|
+
function deepMerge(target, source) {
|
|
167
|
+
const result = { ...target };
|
|
168
|
+
for (const key of Object.keys(source)) {
|
|
169
|
+
const sourceVal = source[key];
|
|
170
|
+
const targetVal = result[key];
|
|
171
|
+
if (sourceVal && targetVal && typeof sourceVal === "object" && !Array.isArray(sourceVal) && typeof targetVal === "object" && !Array.isArray(targetVal)) {
|
|
172
|
+
result[key] = deepMerge(targetVal, sourceVal);
|
|
173
|
+
} else if (sourceVal !== void 0) {
|
|
174
|
+
result[key] = sourceVal;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return result;
|
|
178
|
+
}
|
|
179
|
+
function chunkArray(arr, size) {
|
|
180
|
+
const chunks = [];
|
|
181
|
+
for (let i = 0; i < arr.length; i += size) {
|
|
182
|
+
chunks.push(arr.slice(i, i + size));
|
|
183
|
+
}
|
|
184
|
+
return chunks;
|
|
185
|
+
}
|
|
186
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
187
|
+
0 && (module.exports = {
|
|
188
|
+
ConfigError,
|
|
189
|
+
EventBus,
|
|
190
|
+
LupaError,
|
|
191
|
+
MemoryError,
|
|
192
|
+
ProviderError,
|
|
193
|
+
RetryError,
|
|
194
|
+
ToolError,
|
|
195
|
+
WorkflowError,
|
|
196
|
+
chunkArray,
|
|
197
|
+
deepMerge,
|
|
198
|
+
delay,
|
|
199
|
+
estimateTokens,
|
|
200
|
+
generateId,
|
|
201
|
+
globalEventBus,
|
|
202
|
+
truncate
|
|
203
|
+
});
|
|
204
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/events.ts","../src/errors.ts","../src/utils.ts"],"sourcesContent":["export { EventBus, globalEventBus } from \"./events\"\nexport { LupaError, ProviderError, ToolError, MemoryError, ConfigError, WorkflowError, RetryError } from \"./errors\"\nexport { generateId, delay, truncate, estimateTokens, deepMerge, chunkArray } from \"./utils\"\n","import { ulid } from \"ulid\"\nimport type { LupaEvent } from \"@lupaflow/types\"\n\ntype EventHandler = (event: LupaEvent) => void | Promise<void>\n\nexport class EventBus {\n private handlers: Map<string, Set<EventHandler>> = new Map()\n private wildcardHandlers: Set<EventHandler> = new Set()\n private history: LupaEvent[] = []\n private maxHistory: number = 1000\n\n on(name: string, handler: EventHandler): () => void {\n if (!this.handlers.has(name)) {\n this.handlers.set(name, new Set())\n }\n this.handlers.get(name)!.add(handler)\n return () => this.handlers.get(name)?.delete(handler)\n }\n\n onAny(handler: EventHandler): () => void {\n this.wildcardHandlers.add(handler)\n return () => this.wildcardHandlers.delete(handler)\n }\n\n async emit(name: string, data: Partial<LupaEvent>): Promise<void> {\n const event: LupaEvent = {\n id: ulid(),\n name,\n timestamp: Date.now(),\n ...data,\n } as LupaEvent\n\n this.history.push(event)\n if (this.history.length > this.maxHistory) {\n this.history.shift()\n }\n\n const handlers = this.handlers.get(name)\n if (handlers) {\n for (const handler of handlers) {\n await handler(event)\n }\n }\n\n for (const handler of this.wildcardHandlers) {\n await handler(event)\n }\n }\n\n getHistory(): LupaEvent[] {\n return [...this.history]\n }\n\n clearHistory(): void {\n this.history = []\n }\n\n removeAllListeners(): void {\n this.handlers.clear()\n this.wildcardHandlers.clear()\n }\n}\n\nexport const globalEventBus = new EventBus()\n","export class LupaError extends Error {\n public code: string\n public details?: Record<string, unknown>\n\n constructor(message: string, code: string, details?: Record<string, unknown>) {\n super(message)\n this.name = \"LupaError\"\n this.code = code\n this.details = details\n }\n}\n\nexport class ProviderError extends LupaError {\n public provider: string\n\n constructor(provider: string, message: string, details?: Record<string, unknown>) {\n super(`[${provider}] ${message}`, \"PROVIDER_ERROR\", details)\n this.name = \"ProviderError\"\n this.provider = provider\n }\n}\n\nexport class ToolError extends LupaError {\n public tool: string\n\n constructor(tool: string, message: string, details?: Record<string, unknown>) {\n super(`[${tool}] ${message}`, \"TOOL_ERROR\", details)\n this.name = \"ToolError\"\n this.tool = tool\n }\n}\n\nexport class MemoryError extends LupaError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, \"MEMORY_ERROR\", details)\n this.name = \"MemoryError\"\n }\n}\n\nexport class ConfigError extends LupaError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, \"CONFIG_ERROR\", details)\n this.name = \"ConfigError\"\n }\n}\n\nexport class WorkflowError extends LupaError {\n public stepId?: string\n\n constructor(message: string, stepId?: string, details?: Record<string, unknown>) {\n super(message, \"WORKFLOW_ERROR\", { stepId, ...details })\n this.name = \"WorkflowError\"\n this.stepId = stepId\n }\n}\n\nexport class RetryError extends LupaError {\n public attempts: number\n public lastError: Error\n\n constructor(message: string, attempts: number, lastError: Error) {\n super(message, \"RETRY_ERROR\", { attempts, lastError: lastError.message })\n this.name = \"RetryError\"\n this.attempts = attempts\n this.lastError = lastError\n }\n}\n","import { ulid } from \"ulid\"\n\nexport function generateId(): string {\n return ulid()\n}\n\nexport function delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\nexport function truncate(str: string, maxLength: number): string {\n if (str.length <= maxLength) return str\n return str.slice(0, maxLength - 3) + \"...\"\n}\n\nexport function estimateTokens(text: string | null | undefined): number {\n return Math.ceil((text || \"\").length / 4)\n}\n\nexport function deepMerge<T extends Record<string, unknown>, S extends Record<string, unknown>>(target: T, source: S): T & S {\n const result = { ...target } as Record<string, unknown>\n for (const key of Object.keys(source)) {\n const sourceVal = (source as Record<string, unknown>)[key]\n const targetVal = result[key]\n if (\n sourceVal &&\n targetVal &&\n typeof sourceVal === \"object\" &&\n !Array.isArray(sourceVal) &&\n typeof targetVal === \"object\" &&\n !Array.isArray(targetVal)\n ) {\n result[key] = deepMerge(targetVal as Record<string, unknown>, sourceVal as Record<string, unknown>)\n } else if (sourceVal !== undefined) {\n result[key] = sourceVal\n }\n }\n return result as T & S\n}\n\nexport function chunkArray<T>(arr: T[], size: number): T[][] {\n const chunks: T[][] = []\n for (let i = 0; i < arr.length; i += size) {\n chunks.push(arr.slice(i, i + size))\n }\n return chunks\n}\n"],"mappings":"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","names":["import_ulid"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { LupaEvent } from '@lupaflow/types';
|
|
2
|
+
|
|
3
|
+
type EventHandler = (event: LupaEvent) => void | Promise<void>;
|
|
4
|
+
declare class EventBus {
|
|
5
|
+
private handlers;
|
|
6
|
+
private wildcardHandlers;
|
|
7
|
+
private history;
|
|
8
|
+
private maxHistory;
|
|
9
|
+
on(name: string, handler: EventHandler): () => void;
|
|
10
|
+
onAny(handler: EventHandler): () => void;
|
|
11
|
+
emit(name: string, data: Partial<LupaEvent>): Promise<void>;
|
|
12
|
+
getHistory(): LupaEvent[];
|
|
13
|
+
clearHistory(): void;
|
|
14
|
+
removeAllListeners(): void;
|
|
15
|
+
}
|
|
16
|
+
declare const globalEventBus: EventBus;
|
|
17
|
+
|
|
18
|
+
declare class LupaError extends Error {
|
|
19
|
+
code: string;
|
|
20
|
+
details?: Record<string, unknown>;
|
|
21
|
+
constructor(message: string, code: string, details?: Record<string, unknown>);
|
|
22
|
+
}
|
|
23
|
+
declare class ProviderError extends LupaError {
|
|
24
|
+
provider: string;
|
|
25
|
+
constructor(provider: string, message: string, details?: Record<string, unknown>);
|
|
26
|
+
}
|
|
27
|
+
declare class ToolError extends LupaError {
|
|
28
|
+
tool: string;
|
|
29
|
+
constructor(tool: string, message: string, details?: Record<string, unknown>);
|
|
30
|
+
}
|
|
31
|
+
declare class MemoryError extends LupaError {
|
|
32
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
33
|
+
}
|
|
34
|
+
declare class ConfigError extends LupaError {
|
|
35
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
36
|
+
}
|
|
37
|
+
declare class WorkflowError extends LupaError {
|
|
38
|
+
stepId?: string;
|
|
39
|
+
constructor(message: string, stepId?: string, details?: Record<string, unknown>);
|
|
40
|
+
}
|
|
41
|
+
declare class RetryError extends LupaError {
|
|
42
|
+
attempts: number;
|
|
43
|
+
lastError: Error;
|
|
44
|
+
constructor(message: string, attempts: number, lastError: Error);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
declare function generateId(): string;
|
|
48
|
+
declare function delay(ms: number): Promise<void>;
|
|
49
|
+
declare function truncate(str: string, maxLength: number): string;
|
|
50
|
+
declare function estimateTokens(text: string | null | undefined): number;
|
|
51
|
+
declare function deepMerge<T extends Record<string, unknown>, S extends Record<string, unknown>>(target: T, source: S): T & S;
|
|
52
|
+
declare function chunkArray<T>(arr: T[], size: number): T[][];
|
|
53
|
+
|
|
54
|
+
export { ConfigError, EventBus, LupaError, MemoryError, ProviderError, RetryError, ToolError, WorkflowError, chunkArray, deepMerge, delay, estimateTokens, generateId, globalEventBus, truncate };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { LupaEvent } from '@lupaflow/types';
|
|
2
|
+
|
|
3
|
+
type EventHandler = (event: LupaEvent) => void | Promise<void>;
|
|
4
|
+
declare class EventBus {
|
|
5
|
+
private handlers;
|
|
6
|
+
private wildcardHandlers;
|
|
7
|
+
private history;
|
|
8
|
+
private maxHistory;
|
|
9
|
+
on(name: string, handler: EventHandler): () => void;
|
|
10
|
+
onAny(handler: EventHandler): () => void;
|
|
11
|
+
emit(name: string, data: Partial<LupaEvent>): Promise<void>;
|
|
12
|
+
getHistory(): LupaEvent[];
|
|
13
|
+
clearHistory(): void;
|
|
14
|
+
removeAllListeners(): void;
|
|
15
|
+
}
|
|
16
|
+
declare const globalEventBus: EventBus;
|
|
17
|
+
|
|
18
|
+
declare class LupaError extends Error {
|
|
19
|
+
code: string;
|
|
20
|
+
details?: Record<string, unknown>;
|
|
21
|
+
constructor(message: string, code: string, details?: Record<string, unknown>);
|
|
22
|
+
}
|
|
23
|
+
declare class ProviderError extends LupaError {
|
|
24
|
+
provider: string;
|
|
25
|
+
constructor(provider: string, message: string, details?: Record<string, unknown>);
|
|
26
|
+
}
|
|
27
|
+
declare class ToolError extends LupaError {
|
|
28
|
+
tool: string;
|
|
29
|
+
constructor(tool: string, message: string, details?: Record<string, unknown>);
|
|
30
|
+
}
|
|
31
|
+
declare class MemoryError extends LupaError {
|
|
32
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
33
|
+
}
|
|
34
|
+
declare class ConfigError extends LupaError {
|
|
35
|
+
constructor(message: string, details?: Record<string, unknown>);
|
|
36
|
+
}
|
|
37
|
+
declare class WorkflowError extends LupaError {
|
|
38
|
+
stepId?: string;
|
|
39
|
+
constructor(message: string, stepId?: string, details?: Record<string, unknown>);
|
|
40
|
+
}
|
|
41
|
+
declare class RetryError extends LupaError {
|
|
42
|
+
attempts: number;
|
|
43
|
+
lastError: Error;
|
|
44
|
+
constructor(message: string, attempts: number, lastError: Error);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
declare function generateId(): string;
|
|
48
|
+
declare function delay(ms: number): Promise<void>;
|
|
49
|
+
declare function truncate(str: string, maxLength: number): string;
|
|
50
|
+
declare function estimateTokens(text: string | null | undefined): number;
|
|
51
|
+
declare function deepMerge<T extends Record<string, unknown>, S extends Record<string, unknown>>(target: T, source: S): T & S;
|
|
52
|
+
declare function chunkArray<T>(arr: T[], size: number): T[][];
|
|
53
|
+
|
|
54
|
+
export { ConfigError, EventBus, LupaError, MemoryError, ProviderError, RetryError, ToolError, WorkflowError, chunkArray, deepMerge, delay, estimateTokens, generateId, globalEventBus, truncate };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// src/events.ts
|
|
2
|
+
import { ulid } from "ulid";
|
|
3
|
+
var EventBus = class {
|
|
4
|
+
handlers = /* @__PURE__ */ new Map();
|
|
5
|
+
wildcardHandlers = /* @__PURE__ */ new Set();
|
|
6
|
+
history = [];
|
|
7
|
+
maxHistory = 1e3;
|
|
8
|
+
on(name, handler) {
|
|
9
|
+
if (!this.handlers.has(name)) {
|
|
10
|
+
this.handlers.set(name, /* @__PURE__ */ new Set());
|
|
11
|
+
}
|
|
12
|
+
this.handlers.get(name).add(handler);
|
|
13
|
+
return () => this.handlers.get(name)?.delete(handler);
|
|
14
|
+
}
|
|
15
|
+
onAny(handler) {
|
|
16
|
+
this.wildcardHandlers.add(handler);
|
|
17
|
+
return () => this.wildcardHandlers.delete(handler);
|
|
18
|
+
}
|
|
19
|
+
async emit(name, data) {
|
|
20
|
+
const event = {
|
|
21
|
+
id: ulid(),
|
|
22
|
+
name,
|
|
23
|
+
timestamp: Date.now(),
|
|
24
|
+
...data
|
|
25
|
+
};
|
|
26
|
+
this.history.push(event);
|
|
27
|
+
if (this.history.length > this.maxHistory) {
|
|
28
|
+
this.history.shift();
|
|
29
|
+
}
|
|
30
|
+
const handlers = this.handlers.get(name);
|
|
31
|
+
if (handlers) {
|
|
32
|
+
for (const handler of handlers) {
|
|
33
|
+
await handler(event);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
for (const handler of this.wildcardHandlers) {
|
|
37
|
+
await handler(event);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
getHistory() {
|
|
41
|
+
return [...this.history];
|
|
42
|
+
}
|
|
43
|
+
clearHistory() {
|
|
44
|
+
this.history = [];
|
|
45
|
+
}
|
|
46
|
+
removeAllListeners() {
|
|
47
|
+
this.handlers.clear();
|
|
48
|
+
this.wildcardHandlers.clear();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var globalEventBus = new EventBus();
|
|
52
|
+
|
|
53
|
+
// src/errors.ts
|
|
54
|
+
var LupaError = class extends Error {
|
|
55
|
+
code;
|
|
56
|
+
details;
|
|
57
|
+
constructor(message, code, details) {
|
|
58
|
+
super(message);
|
|
59
|
+
this.name = "LupaError";
|
|
60
|
+
this.code = code;
|
|
61
|
+
this.details = details;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var ProviderError = class extends LupaError {
|
|
65
|
+
provider;
|
|
66
|
+
constructor(provider, message, details) {
|
|
67
|
+
super(`[${provider}] ${message}`, "PROVIDER_ERROR", details);
|
|
68
|
+
this.name = "ProviderError";
|
|
69
|
+
this.provider = provider;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var ToolError = class extends LupaError {
|
|
73
|
+
tool;
|
|
74
|
+
constructor(tool, message, details) {
|
|
75
|
+
super(`[${tool}] ${message}`, "TOOL_ERROR", details);
|
|
76
|
+
this.name = "ToolError";
|
|
77
|
+
this.tool = tool;
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
var MemoryError = class extends LupaError {
|
|
81
|
+
constructor(message, details) {
|
|
82
|
+
super(message, "MEMORY_ERROR", details);
|
|
83
|
+
this.name = "MemoryError";
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
var ConfigError = class extends LupaError {
|
|
87
|
+
constructor(message, details) {
|
|
88
|
+
super(message, "CONFIG_ERROR", details);
|
|
89
|
+
this.name = "ConfigError";
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
var WorkflowError = class extends LupaError {
|
|
93
|
+
stepId;
|
|
94
|
+
constructor(message, stepId, details) {
|
|
95
|
+
super(message, "WORKFLOW_ERROR", { stepId, ...details });
|
|
96
|
+
this.name = "WorkflowError";
|
|
97
|
+
this.stepId = stepId;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
var RetryError = class extends LupaError {
|
|
101
|
+
attempts;
|
|
102
|
+
lastError;
|
|
103
|
+
constructor(message, attempts, lastError) {
|
|
104
|
+
super(message, "RETRY_ERROR", { attempts, lastError: lastError.message });
|
|
105
|
+
this.name = "RetryError";
|
|
106
|
+
this.attempts = attempts;
|
|
107
|
+
this.lastError = lastError;
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
// src/utils.ts
|
|
112
|
+
import { ulid as ulid2 } from "ulid";
|
|
113
|
+
function generateId() {
|
|
114
|
+
return ulid2();
|
|
115
|
+
}
|
|
116
|
+
function delay(ms) {
|
|
117
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
118
|
+
}
|
|
119
|
+
function truncate(str, maxLength) {
|
|
120
|
+
if (str.length <= maxLength) return str;
|
|
121
|
+
return str.slice(0, maxLength - 3) + "...";
|
|
122
|
+
}
|
|
123
|
+
function estimateTokens(text) {
|
|
124
|
+
return Math.ceil((text || "").length / 4);
|
|
125
|
+
}
|
|
126
|
+
function deepMerge(target, source) {
|
|
127
|
+
const result = { ...target };
|
|
128
|
+
for (const key of Object.keys(source)) {
|
|
129
|
+
const sourceVal = source[key];
|
|
130
|
+
const targetVal = result[key];
|
|
131
|
+
if (sourceVal && targetVal && typeof sourceVal === "object" && !Array.isArray(sourceVal) && typeof targetVal === "object" && !Array.isArray(targetVal)) {
|
|
132
|
+
result[key] = deepMerge(targetVal, sourceVal);
|
|
133
|
+
} else if (sourceVal !== void 0) {
|
|
134
|
+
result[key] = sourceVal;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return result;
|
|
138
|
+
}
|
|
139
|
+
function chunkArray(arr, size) {
|
|
140
|
+
const chunks = [];
|
|
141
|
+
for (let i = 0; i < arr.length; i += size) {
|
|
142
|
+
chunks.push(arr.slice(i, i + size));
|
|
143
|
+
}
|
|
144
|
+
return chunks;
|
|
145
|
+
}
|
|
146
|
+
export {
|
|
147
|
+
ConfigError,
|
|
148
|
+
EventBus,
|
|
149
|
+
LupaError,
|
|
150
|
+
MemoryError,
|
|
151
|
+
ProviderError,
|
|
152
|
+
RetryError,
|
|
153
|
+
ToolError,
|
|
154
|
+
WorkflowError,
|
|
155
|
+
chunkArray,
|
|
156
|
+
deepMerge,
|
|
157
|
+
delay,
|
|
158
|
+
estimateTokens,
|
|
159
|
+
generateId,
|
|
160
|
+
globalEventBus,
|
|
161
|
+
truncate
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/events.ts","../src/errors.ts","../src/utils.ts"],"sourcesContent":["import { ulid } from \"ulid\"\nimport type { LupaEvent } from \"@lupaflow/types\"\n\ntype EventHandler = (event: LupaEvent) => void | Promise<void>\n\nexport class EventBus {\n private handlers: Map<string, Set<EventHandler>> = new Map()\n private wildcardHandlers: Set<EventHandler> = new Set()\n private history: LupaEvent[] = []\n private maxHistory: number = 1000\n\n on(name: string, handler: EventHandler): () => void {\n if (!this.handlers.has(name)) {\n this.handlers.set(name, new Set())\n }\n this.handlers.get(name)!.add(handler)\n return () => this.handlers.get(name)?.delete(handler)\n }\n\n onAny(handler: EventHandler): () => void {\n this.wildcardHandlers.add(handler)\n return () => this.wildcardHandlers.delete(handler)\n }\n\n async emit(name: string, data: Partial<LupaEvent>): Promise<void> {\n const event: LupaEvent = {\n id: ulid(),\n name,\n timestamp: Date.now(),\n ...data,\n } as LupaEvent\n\n this.history.push(event)\n if (this.history.length > this.maxHistory) {\n this.history.shift()\n }\n\n const handlers = this.handlers.get(name)\n if (handlers) {\n for (const handler of handlers) {\n await handler(event)\n }\n }\n\n for (const handler of this.wildcardHandlers) {\n await handler(event)\n }\n }\n\n getHistory(): LupaEvent[] {\n return [...this.history]\n }\n\n clearHistory(): void {\n this.history = []\n }\n\n removeAllListeners(): void {\n this.handlers.clear()\n this.wildcardHandlers.clear()\n }\n}\n\nexport const globalEventBus = new EventBus()\n","export class LupaError extends Error {\n public code: string\n public details?: Record<string, unknown>\n\n constructor(message: string, code: string, details?: Record<string, unknown>) {\n super(message)\n this.name = \"LupaError\"\n this.code = code\n this.details = details\n }\n}\n\nexport class ProviderError extends LupaError {\n public provider: string\n\n constructor(provider: string, message: string, details?: Record<string, unknown>) {\n super(`[${provider}] ${message}`, \"PROVIDER_ERROR\", details)\n this.name = \"ProviderError\"\n this.provider = provider\n }\n}\n\nexport class ToolError extends LupaError {\n public tool: string\n\n constructor(tool: string, message: string, details?: Record<string, unknown>) {\n super(`[${tool}] ${message}`, \"TOOL_ERROR\", details)\n this.name = \"ToolError\"\n this.tool = tool\n }\n}\n\nexport class MemoryError extends LupaError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, \"MEMORY_ERROR\", details)\n this.name = \"MemoryError\"\n }\n}\n\nexport class ConfigError extends LupaError {\n constructor(message: string, details?: Record<string, unknown>) {\n super(message, \"CONFIG_ERROR\", details)\n this.name = \"ConfigError\"\n }\n}\n\nexport class WorkflowError extends LupaError {\n public stepId?: string\n\n constructor(message: string, stepId?: string, details?: Record<string, unknown>) {\n super(message, \"WORKFLOW_ERROR\", { stepId, ...details })\n this.name = \"WorkflowError\"\n this.stepId = stepId\n }\n}\n\nexport class RetryError extends LupaError {\n public attempts: number\n public lastError: Error\n\n constructor(message: string, attempts: number, lastError: Error) {\n super(message, \"RETRY_ERROR\", { attempts, lastError: lastError.message })\n this.name = \"RetryError\"\n this.attempts = attempts\n this.lastError = lastError\n }\n}\n","import { ulid } from \"ulid\"\n\nexport function generateId(): string {\n return ulid()\n}\n\nexport function delay(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\nexport function truncate(str: string, maxLength: number): string {\n if (str.length <= maxLength) return str\n return str.slice(0, maxLength - 3) + \"...\"\n}\n\nexport function estimateTokens(text: string | null | undefined): number {\n return Math.ceil((text || \"\").length / 4)\n}\n\nexport function deepMerge<T extends Record<string, unknown>, S extends Record<string, unknown>>(target: T, source: S): T & S {\n const result = { ...target } as Record<string, unknown>\n for (const key of Object.keys(source)) {\n const sourceVal = (source as Record<string, unknown>)[key]\n const targetVal = result[key]\n if (\n sourceVal &&\n targetVal &&\n typeof sourceVal === \"object\" &&\n !Array.isArray(sourceVal) &&\n typeof targetVal === \"object\" &&\n !Array.isArray(targetVal)\n ) {\n result[key] = deepMerge(targetVal as Record<string, unknown>, sourceVal as Record<string, unknown>)\n } else if (sourceVal !== undefined) {\n result[key] = sourceVal\n }\n }\n return result as T & S\n}\n\nexport function chunkArray<T>(arr: T[], size: number): T[][] {\n const chunks: T[][] = []\n for (let i = 0; i < arr.length; i += size) {\n chunks.push(arr.slice(i, i + size))\n }\n return chunks\n}\n"],"mappings":"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","names":["ulid"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lupaflow/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
17
|
}
|
|
18
18
|
},
|
|
19
|
-
|
|
19
|
+
"files": ["dist", "src", "package.json"],
|
|
20
|
+
"scripts": {
|
|
20
21
|
"build": "tsup",
|
|
21
22
|
"dev": "tsup --watch"
|
|
22
23
|
},
|
package/tsconfig.json
DELETED