lemura 1.4.2 → 1.4.3
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/README.md +46 -10
- package/package.json +21 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<img src="
|
|
1
|
+
<img src="https://raw.githubusercontent.com/rzafiamy/lemura/main/sites/docs/public/lemura-logo.png" alt="lemura logo" width="200" />
|
|
2
2
|
|
|
3
3
|
# lemura
|
|
4
4
|
|
|
@@ -14,16 +14,21 @@
|
|
|
14
14
|
|
|
15
15
|
`lemura` is a robust, provider-agnostic npm package designed to encapsulate a full agentic AI runtime. It simplifies the complex orchestration of LLMs, tools, and context management into a single, cohesive interface.
|
|
16
16
|
|
|
17
|
-
###
|
|
17
|
+
### ❓ Why lemura?
|
|
18
|
+
|
|
19
|
+
- **Zero Lock-in**: Switch between OpenAI, Anthropic, Groq, or local Ollama instances by changing one line of code.
|
|
20
|
+
- **Production Ready**: Built-in context compression, tool retry logic, and execution budget enforcement.
|
|
21
|
+
- **Developer First**: Premium logging, native TypeScript types, and Model Context Protocol (MCP) support.
|
|
22
|
+
|
|
23
|
+
### ✨ Key Features
|
|
24
|
+
|
|
18
25
|
- **🧠 Dynamic Skill Market**: Switch skills on/off at runtime via tags, names, or tool dependencies.
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
- **📊 Enhanced Observability**: Detailed tracing, token tracking, and execution budget enforcement.
|
|
26
|
-
- **🌊 Native Streaming**: Token-by-token completion for smooth user experiences.
|
|
26
|
+
- **🔌 Native MCP Support**: Connect to any Model Context Protocol server with custom header support (Auth).
|
|
27
|
+
- **🛡️ Tool Firewall**: Fully integrated ask/accept/deny policy layer for secure tool execution.
|
|
28
|
+
- **🎯 Goal Maintenance**: LLM-powered sub-goal decomposition and status tracking across turns.
|
|
29
|
+
- **🧹 Summary Injection**: Automatically compresses history while ensuring the model never "forgets" the context.
|
|
30
|
+
- **🌊 Native Streaming**: Token-by-token completion for smooth, responsive user experiences.
|
|
31
|
+
- **📊 Observability**: Detailed tracing, token tracking, and structured logging with actionable hints.
|
|
27
32
|
|
|
28
33
|
## 🚀 Install
|
|
29
34
|
|
|
@@ -86,6 +91,37 @@ async function main() {
|
|
|
86
91
|
main();
|
|
87
92
|
```
|
|
88
93
|
|
|
94
|
+
### 🛠️ Quick Start: Creating a Tool
|
|
95
|
+
|
|
96
|
+
Adding tools to your agent is straightforward using the standard `IToolDefinition` interface.
|
|
97
|
+
|
|
98
|
+
```ts
|
|
99
|
+
import { IToolDefinition } from 'lemura';
|
|
100
|
+
|
|
101
|
+
const getWeather: IToolDefinition = {
|
|
102
|
+
name: 'get_weather',
|
|
103
|
+
description: 'Get the current weather for a specific city',
|
|
104
|
+
parameters: {
|
|
105
|
+
type: 'object',
|
|
106
|
+
properties: {
|
|
107
|
+
city: { type: 'string', description: 'The name of the city' }
|
|
108
|
+
},
|
|
109
|
+
required: ['city']
|
|
110
|
+
},
|
|
111
|
+
execute: async ({ city }) => {
|
|
112
|
+
// Call your weather API here
|
|
113
|
+
return `The weather in ${city} is sunny, 22°C.`;
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
// Register it when creating the session
|
|
118
|
+
const session = new SessionManager({
|
|
119
|
+
adapter,
|
|
120
|
+
model: 'gpt-4o-mini',
|
|
121
|
+
tools: [getWeather]
|
|
122
|
+
});
|
|
123
|
+
```
|
|
124
|
+
|
|
89
125
|
## 🧠 Core Concepts
|
|
90
126
|
|
|
91
127
|
Explore the architecture and advanced capabilities of `lemura` at [lemura.makix.fr](https://lemura.makix.fr) or browse the local guides:
|
package/package.json
CHANGED
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lemura",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "Provider-agnostic agentic AI runtime",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "rzafiamy",
|
|
7
|
+
"keywords": [
|
|
8
|
+
"ai",
|
|
9
|
+
"agent",
|
|
10
|
+
"react-loop",
|
|
11
|
+
"rag",
|
|
12
|
+
"provider-agnostic",
|
|
13
|
+
"llm",
|
|
14
|
+
"runtime",
|
|
15
|
+
"mcp"
|
|
16
|
+
],
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/rzafiamy/lemura.git"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/rzafiamy/lemura/issues"
|
|
23
|
+
},
|
|
24
|
+
"homepage": "https://github.com/rzafiamy/lemura#readme",
|
|
5
25
|
"exports": {
|
|
6
26
|
".": {
|
|
7
27
|
"types": "./dist/index.d.ts",
|