@artinet/cruiser 0.1.2 → 0.1.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 +17 -15
- package/dist/langchain/index.js +2 -1
- package/dist/langchain/utils.js +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -18,18 +18,18 @@ Universal adapters for multi-agent interoperability.
|
|
|
18
18
|
|
|
19
19
|
### Supported Frameworks
|
|
20
20
|
|
|
21
|
-
| Framework | Import Path | Status
|
|
22
|
-
| -------------------- | ---------------------------- |
|
|
23
|
-
| **OpenAI Agents** | `@artinet/cruiser/openai` | Text ✅
|
|
24
|
-
| **Mastra** | `@artinet/cruiser/mastra` | Text ✅
|
|
25
|
-
| **Claude Agent SDK** | `@artinet/cruiser/claude` | Text ✅
|
|
26
|
-
| **LangChain** | `@artinet/cruiser/langchain` | Text ✅
|
|
27
|
-
| **Strands (AWS)** | `@artinet/cruiser/strands` | Text ✅
|
|
21
|
+
| Framework | Import Path | Status |
|
|
22
|
+
| -------------------- | ---------------------------- | ------- |
|
|
23
|
+
| **OpenAI Agents** | `@artinet/cruiser/openai` | Text ✅ |
|
|
24
|
+
| **Mastra** | `@artinet/cruiser/mastra` | Text ✅ |
|
|
25
|
+
| **Claude Agent SDK** | `@artinet/cruiser/claude` | Text ✅ |
|
|
26
|
+
| **LangChain** | `@artinet/cruiser/langchain` | Text ✅ |
|
|
27
|
+
| **Strands (AWS)** | `@artinet/cruiser/strands` | Text ✅ |
|
|
28
28
|
|
|
29
29
|
## Installation
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
|
-
npm install @artinet/cruiser @artinet/sdk
|
|
32
|
+
npm install @artinet/cruiser @artinet/sdk @modelcontextprotocol/sdk @a2a-js/sdk
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
Install your preferred agent framework:
|
|
@@ -55,7 +55,7 @@ npm install @strands-agents/sdk
|
|
|
55
55
|
|
|
56
56
|
### Single Agent
|
|
57
57
|
|
|
58
|
-
Create an agent from any of the supported frameworks and dock it
|
|
58
|
+
Create an agent from any of the supported frameworks and dock it onto artinet:
|
|
59
59
|
|
|
60
60
|
```typescript
|
|
61
61
|
import { Agent } from "@openai/agents";
|
|
@@ -75,7 +75,9 @@ const artinetAgent = await dock(agent, { name: "My Assistant" });
|
|
|
75
75
|
serve({ agent: artinetAgent, port: 3000 });
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
### Multi-Agent
|
|
78
|
+
### Multi-Agent Systems
|
|
79
|
+
|
|
80
|
+
> _Experimental_
|
|
79
81
|
|
|
80
82
|
Create interoperable multi-agent systems:
|
|
81
83
|
|
|
@@ -101,12 +103,12 @@ const writer = await dockMastra(
|
|
|
101
103
|
// Chain them together
|
|
102
104
|
const agent = cr8("Orchestrator Agent")
|
|
103
105
|
// The researcher will receive the incoming user message
|
|
104
|
-
.sendMessage(researcher)
|
|
106
|
+
.sendMessage({ agent: researcher })
|
|
105
107
|
// The results are passed to the writer with additional instructions
|
|
106
|
-
.sendMessage(
|
|
107
|
-
writer,
|
|
108
|
-
"use the research results to create a publishable article"
|
|
109
|
-
).agent;
|
|
108
|
+
.sendMessage({
|
|
109
|
+
agent: writer,
|
|
110
|
+
message: "use the research results to create a publishable article",
|
|
111
|
+
}).agent;
|
|
110
112
|
|
|
111
113
|
console.log(await agent.sendMessage("I want to learn about the Roman Empire."));
|
|
112
114
|
```
|
package/dist/langchain/index.js
CHANGED
|
@@ -109,12 +109,13 @@ export const dock = async (agent, card, options) => {
|
|
|
109
109
|
...result,
|
|
110
110
|
},
|
|
111
111
|
};
|
|
112
|
-
|
|
112
|
+
const completedUpdate = sdk.describe.update.completed({
|
|
113
113
|
taskId: task.id,
|
|
114
114
|
contextId: task.contextId,
|
|
115
115
|
message: responseMessage,
|
|
116
116
|
metadata,
|
|
117
117
|
});
|
|
118
|
+
yield completedUpdate;
|
|
118
119
|
});
|
|
119
120
|
};
|
|
120
121
|
/**
|
package/dist/langchain/utils.js
CHANGED
|
@@ -180,7 +180,7 @@ export function extractA2AMessage(taskId, contextId, result, _agent) {
|
|
|
180
180
|
if (typeof message.content === "string") {
|
|
181
181
|
parts.push(sdk.describe.part.text(message.content));
|
|
182
182
|
}
|
|
183
|
-
else {
|
|
183
|
+
else if (message.type === "ai") {
|
|
184
184
|
/**Pop the last block which belongs to the assistant */
|
|
185
185
|
const block = message.content.pop();
|
|
186
186
|
if (block && block.type === "text") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artinet/cruiser",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "A library for building A2A enabled runtime Agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"clean": "rimraf dist",
|
|
51
51
|
"rebuild": "rimraf dist node_modules/ package-lock.json && npm i && npm run build",
|
|
52
52
|
"lint": "eslint src --ext .ts",
|
|
53
|
-
"package-test": "npm run build && npm pack && sync && sleep 1 && docker build
|
|
53
|
+
"package-test": "npm run build && npm pack && sync && sleep 1 && docker build -f ./deployment/test.dockerfile -t cruiser-test . && docker run --env-file .env --rm cruiser-test && rm artinet-cruiser-*.tgz",
|
|
54
54
|
"prepublishOnly": "npm run package-test && rimraf dist && npm run build && npm run lint && npm test",
|
|
55
55
|
"test": "NODE_OPTIONS=--experimental-vm-modules jest",
|
|
56
56
|
"test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
},
|
|
81
81
|
"homepage": "https://artinet.io",
|
|
82
82
|
"dependencies": {
|
|
83
|
-
"@artinet/sdk": "^0.6.
|
|
83
|
+
"@artinet/sdk": "^0.6.4",
|
|
84
84
|
"@artinet/types": "^0.0.9",
|
|
85
85
|
"uuid": "^13.0.0"
|
|
86
86
|
},
|