@artemiskit/adapter-deepagents 0.2.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 +133 -0
- package/README.md +198 -0
- package/dist/client.d.ts +81 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +268 -0
- package/dist/types.d.ts +185 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +48 -0
- package/src/client.test.ts +382 -0
- package/src/client.ts +392 -0
- package/src/index.ts +32 -0
- package/src/types.ts +195 -0
- package/tsconfig.json +13 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// ../../../node_modules/nanoid/index.js
|
|
3
|
+
import { webcrypto as crypto } from "crypto";
|
|
4
|
+
|
|
5
|
+
// ../../../node_modules/nanoid/url-alphabet/index.js
|
|
6
|
+
var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
7
|
+
|
|
8
|
+
// ../../../node_modules/nanoid/index.js
|
|
9
|
+
var POOL_SIZE_MULTIPLIER = 128;
|
|
10
|
+
var pool;
|
|
11
|
+
var poolOffset;
|
|
12
|
+
function fillPool(bytes) {
|
|
13
|
+
if (!pool || pool.length < bytes) {
|
|
14
|
+
pool = Buffer.allocUnsafe(bytes * POOL_SIZE_MULTIPLIER);
|
|
15
|
+
crypto.getRandomValues(pool);
|
|
16
|
+
poolOffset = 0;
|
|
17
|
+
} else if (poolOffset + bytes > pool.length) {
|
|
18
|
+
crypto.getRandomValues(pool);
|
|
19
|
+
poolOffset = 0;
|
|
20
|
+
}
|
|
21
|
+
poolOffset += bytes;
|
|
22
|
+
}
|
|
23
|
+
function nanoid(size = 21) {
|
|
24
|
+
fillPool(size |= 0);
|
|
25
|
+
let id = "";
|
|
26
|
+
for (let i = poolOffset - size;i < poolOffset; i++) {
|
|
27
|
+
id += urlAlphabet[pool[i] & 63];
|
|
28
|
+
}
|
|
29
|
+
return id;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// src/client.ts
|
|
33
|
+
class DeepAgentsAdapter {
|
|
34
|
+
system;
|
|
35
|
+
config;
|
|
36
|
+
provider = "deepagents";
|
|
37
|
+
traces = [];
|
|
38
|
+
messages = [];
|
|
39
|
+
constructor(config, system) {
|
|
40
|
+
this.config = config;
|
|
41
|
+
this.system = system;
|
|
42
|
+
this.validateSystem(system);
|
|
43
|
+
}
|
|
44
|
+
validateSystem(system) {
|
|
45
|
+
const hasMethod = typeof system.invoke === "function" || typeof system.run === "function" || typeof system.execute === "function";
|
|
46
|
+
if (!hasMethod) {
|
|
47
|
+
throw new Error("DeepAgents system must have an invoke(), run(), or execute() method");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async generate(options) {
|
|
51
|
+
const startTime = Date.now();
|
|
52
|
+
this.traces = [];
|
|
53
|
+
this.messages = [];
|
|
54
|
+
const input = this.prepareInput(options);
|
|
55
|
+
const callbacks = this.createCallbacks();
|
|
56
|
+
const execConfig = {
|
|
57
|
+
timeout: this.config.executionTimeout ?? 300000,
|
|
58
|
+
callbacks
|
|
59
|
+
};
|
|
60
|
+
const response = await this.executeSystem(input, execConfig);
|
|
61
|
+
const latencyMs = Date.now() - startTime;
|
|
62
|
+
const text = this.extractOutput(response);
|
|
63
|
+
const metadata = this.extractMetadata(response);
|
|
64
|
+
const tokens = {
|
|
65
|
+
prompt: response.tokenUsage?.prompt ?? 0,
|
|
66
|
+
completion: response.tokenUsage?.completion ?? 0,
|
|
67
|
+
total: response.tokenUsage?.total ?? 0
|
|
68
|
+
};
|
|
69
|
+
return {
|
|
70
|
+
id: nanoid(),
|
|
71
|
+
model: this.config.name || "deepagents:system",
|
|
72
|
+
text,
|
|
73
|
+
tokens,
|
|
74
|
+
latencyMs,
|
|
75
|
+
finishReason: "stop",
|
|
76
|
+
raw: {
|
|
77
|
+
response,
|
|
78
|
+
metadata
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
async executeSystem(input, config) {
|
|
83
|
+
if (typeof this.system.invoke === "function") {
|
|
84
|
+
return this.system.invoke(input, config);
|
|
85
|
+
}
|
|
86
|
+
if (typeof this.system.run === "function") {
|
|
87
|
+
return this.system.run(input, config);
|
|
88
|
+
}
|
|
89
|
+
if (typeof this.system.execute === "function") {
|
|
90
|
+
return this.system.execute(input, config);
|
|
91
|
+
}
|
|
92
|
+
throw new Error("No execution method available on DeepAgents system");
|
|
93
|
+
}
|
|
94
|
+
async* stream(options, onChunk) {
|
|
95
|
+
if (!this.system.stream) {
|
|
96
|
+
const result = await this.generate(options);
|
|
97
|
+
onChunk(result.text);
|
|
98
|
+
yield result.text;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.traces = [];
|
|
102
|
+
this.messages = [];
|
|
103
|
+
const input = this.prepareInput(options);
|
|
104
|
+
const stream = this.system.stream(input, {
|
|
105
|
+
timeout: this.config.executionTimeout ?? 300000
|
|
106
|
+
});
|
|
107
|
+
for await (const event of stream) {
|
|
108
|
+
if (event.type === "agent_start" || event.type === "agent_end") {
|
|
109
|
+
this.traces.push({
|
|
110
|
+
agent: event.agent || "unknown",
|
|
111
|
+
action: event.type,
|
|
112
|
+
output: event.data,
|
|
113
|
+
timestamp: event.timestamp || Date.now()
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
if (event.type === "message" && event.data) {
|
|
117
|
+
const msgData = event.data;
|
|
118
|
+
this.messages.push(msgData);
|
|
119
|
+
}
|
|
120
|
+
if (event.type === "token" && event.content) {
|
|
121
|
+
onChunk(event.content);
|
|
122
|
+
yield event.content;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
async capabilities() {
|
|
127
|
+
return {
|
|
128
|
+
streaming: typeof this.system.stream === "function",
|
|
129
|
+
functionCalling: true,
|
|
130
|
+
toolUse: true,
|
|
131
|
+
maxContext: 128000,
|
|
132
|
+
vision: false,
|
|
133
|
+
jsonMode: false
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
async close() {}
|
|
137
|
+
prepareInput(options) {
|
|
138
|
+
if (typeof options.prompt === "string") {
|
|
139
|
+
return {
|
|
140
|
+
task: options.prompt,
|
|
141
|
+
query: options.prompt,
|
|
142
|
+
input: options.prompt
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
const messages = options.prompt;
|
|
146
|
+
const lastUserMessage = messages.findLast((m) => m.role === "user");
|
|
147
|
+
const systemMessage = messages.find((m) => m.role === "system");
|
|
148
|
+
const input = {
|
|
149
|
+
task: lastUserMessage?.content || "",
|
|
150
|
+
query: lastUserMessage?.content || "",
|
|
151
|
+
input: lastUserMessage?.content || ""
|
|
152
|
+
};
|
|
153
|
+
if (systemMessage) {
|
|
154
|
+
input.context = { systemPrompt: systemMessage.content };
|
|
155
|
+
}
|
|
156
|
+
input.messages = messages.map((m) => ({
|
|
157
|
+
role: m.role,
|
|
158
|
+
content: m.content
|
|
159
|
+
}));
|
|
160
|
+
return input;
|
|
161
|
+
}
|
|
162
|
+
extractOutput(response) {
|
|
163
|
+
const possibleKeys = ["result", "output", "response", "answer", "content"];
|
|
164
|
+
for (const key of possibleKeys) {
|
|
165
|
+
const value = response[key];
|
|
166
|
+
if (typeof value === "string") {
|
|
167
|
+
return value;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (response.traces?.length) {
|
|
171
|
+
const lastTrace = response.traces[response.traces.length - 1];
|
|
172
|
+
if (lastTrace.output) {
|
|
173
|
+
return typeof lastTrace.output === "string" ? lastTrace.output : JSON.stringify(lastTrace.output);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return JSON.stringify(response);
|
|
177
|
+
}
|
|
178
|
+
createCallbacks() {
|
|
179
|
+
const callbacks = {};
|
|
180
|
+
if (this.config.captureTraces !== false) {
|
|
181
|
+
callbacks.onAgentStart = (agent, input) => {
|
|
182
|
+
this.traces.push({
|
|
183
|
+
agent,
|
|
184
|
+
action: "start",
|
|
185
|
+
input,
|
|
186
|
+
timestamp: Date.now()
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
callbacks.onAgentEnd = (agent, output) => {
|
|
190
|
+
this.traces.push({
|
|
191
|
+
agent,
|
|
192
|
+
action: "end",
|
|
193
|
+
output,
|
|
194
|
+
timestamp: Date.now()
|
|
195
|
+
});
|
|
196
|
+
};
|
|
197
|
+
callbacks.onToolUse = (agent, tool, input) => {
|
|
198
|
+
this.traces.push({
|
|
199
|
+
agent,
|
|
200
|
+
action: "tool_use",
|
|
201
|
+
input: { tool, toolInput: input },
|
|
202
|
+
toolsUsed: [tool],
|
|
203
|
+
timestamp: Date.now()
|
|
204
|
+
});
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
if (this.config.captureMessages !== false) {
|
|
208
|
+
callbacks.onMessage = (from, to, message) => {
|
|
209
|
+
this.messages.push({
|
|
210
|
+
from,
|
|
211
|
+
to,
|
|
212
|
+
content: typeof message === "string" ? message : JSON.stringify(message),
|
|
213
|
+
timestamp: Date.now()
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
return callbacks;
|
|
218
|
+
}
|
|
219
|
+
extractMetadata(response) {
|
|
220
|
+
const allTraces = [...response.traces || [], ...this.traces];
|
|
221
|
+
const allMessages = [...response.messages || [], ...this.messages];
|
|
222
|
+
const agentsSet = new Set;
|
|
223
|
+
for (const trace of allTraces) {
|
|
224
|
+
agentsSet.add(trace.agent);
|
|
225
|
+
}
|
|
226
|
+
for (const msg of allMessages) {
|
|
227
|
+
agentsSet.add(msg.from);
|
|
228
|
+
agentsSet.add(msg.to);
|
|
229
|
+
}
|
|
230
|
+
if (response.agents) {
|
|
231
|
+
for (const agent of response.agents) {
|
|
232
|
+
agentsSet.add(agent);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
const toolsSet = new Set;
|
|
236
|
+
let toolCallCount = 0;
|
|
237
|
+
for (const trace of allTraces) {
|
|
238
|
+
if (trace.toolsUsed) {
|
|
239
|
+
for (const tool of trace.toolsUsed) {
|
|
240
|
+
toolsSet.add(tool);
|
|
241
|
+
}
|
|
242
|
+
toolCallCount += trace.toolsUsed.length;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return {
|
|
246
|
+
name: this.config.name,
|
|
247
|
+
agentsInvolved: Array.from(agentsSet),
|
|
248
|
+
totalAgentCalls: allTraces.filter((t) => t.action === "start" || t.action === "end").length,
|
|
249
|
+
totalMessages: allMessages.length,
|
|
250
|
+
totalToolCalls: toolCallCount,
|
|
251
|
+
toolsUsed: Array.from(toolsSet),
|
|
252
|
+
traces: this.config.captureTraces !== false ? allTraces : undefined,
|
|
253
|
+
messages: this.config.captureMessages !== false ? allMessages : undefined,
|
|
254
|
+
executionTimeMs: response.executionTimeMs
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
function createDeepAgentsAdapter(system, options) {
|
|
259
|
+
const config = {
|
|
260
|
+
provider: "deepagents",
|
|
261
|
+
...options
|
|
262
|
+
};
|
|
263
|
+
return new DeepAgentsAdapter(config, system);
|
|
264
|
+
}
|
|
265
|
+
export {
|
|
266
|
+
createDeepAgentsAdapter,
|
|
267
|
+
DeepAgentsAdapter
|
|
268
|
+
};
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for DeepAgents adapter
|
|
3
|
+
*/
|
|
4
|
+
import type { BaseAdapterConfig } from '@artemiskit/core';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for DeepAgents adapter
|
|
7
|
+
*/
|
|
8
|
+
export interface DeepAgentsAdapterConfig extends BaseAdapterConfig {
|
|
9
|
+
provider: 'deepagents';
|
|
10
|
+
/**
|
|
11
|
+
* Name identifier for the agent system (for logging/tracking)
|
|
12
|
+
*/
|
|
13
|
+
name?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Whether to capture agent traces and execution history
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
captureTraces?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Whether to capture inter-agent messages
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
captureMessages?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Maximum execution time in milliseconds
|
|
26
|
+
* @default 300000 (5 minutes)
|
|
27
|
+
*/
|
|
28
|
+
executionTimeout?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Custom input transformer function name
|
|
31
|
+
*/
|
|
32
|
+
inputTransformer?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Custom output transformer function name
|
|
35
|
+
*/
|
|
36
|
+
outputTransformer?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Generic interface for DeepAgents systems
|
|
40
|
+
* Supports multi-agent orchestration with invoke() or run() methods
|
|
41
|
+
*/
|
|
42
|
+
export interface DeepAgentsSystem {
|
|
43
|
+
invoke?(input: DeepAgentsInput, config?: DeepAgentsConfig): Promise<DeepAgentsOutput>;
|
|
44
|
+
run?(input: DeepAgentsInput, config?: DeepAgentsConfig): Promise<DeepAgentsOutput>;
|
|
45
|
+
execute?(input: DeepAgentsInput, config?: DeepAgentsConfig): Promise<DeepAgentsOutput>;
|
|
46
|
+
stream?(input: DeepAgentsInput, config?: DeepAgentsConfig): AsyncIterable<DeepAgentsStreamEvent>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Input format for DeepAgents systems
|
|
50
|
+
*/
|
|
51
|
+
export interface DeepAgentsInput {
|
|
52
|
+
/** The main task/query to process */
|
|
53
|
+
task?: string;
|
|
54
|
+
query?: string;
|
|
55
|
+
input?: string;
|
|
56
|
+
message?: string;
|
|
57
|
+
/** Optional context/memory from previous interactions */
|
|
58
|
+
context?: Record<string, unknown>;
|
|
59
|
+
/** Optional metadata */
|
|
60
|
+
metadata?: Record<string, unknown>;
|
|
61
|
+
[key: string]: unknown;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Configuration for DeepAgents execution
|
|
65
|
+
*/
|
|
66
|
+
export interface DeepAgentsConfig {
|
|
67
|
+
/** Maximum iterations for agent loops */
|
|
68
|
+
maxIterations?: number;
|
|
69
|
+
/** Timeout in milliseconds */
|
|
70
|
+
timeout?: number;
|
|
71
|
+
/** Enable verbose logging */
|
|
72
|
+
verbose?: boolean;
|
|
73
|
+
/** Callback handlers */
|
|
74
|
+
callbacks?: DeepAgentsCallbacks;
|
|
75
|
+
[key: string]: unknown;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Callback handlers for DeepAgents execution
|
|
79
|
+
*/
|
|
80
|
+
export interface DeepAgentsCallbacks {
|
|
81
|
+
onAgentStart?: (agent: string, input: unknown) => void;
|
|
82
|
+
onAgentEnd?: (agent: string, output: unknown) => void;
|
|
83
|
+
onMessage?: (from: string, to: string, message: unknown) => void;
|
|
84
|
+
onToolUse?: (agent: string, tool: string, input: unknown) => void;
|
|
85
|
+
onError?: (agent: string, error: Error) => void;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Output from DeepAgents system execution
|
|
89
|
+
*/
|
|
90
|
+
export interface DeepAgentsOutput {
|
|
91
|
+
/** Main result/output */
|
|
92
|
+
result?: string;
|
|
93
|
+
output?: string;
|
|
94
|
+
response?: string;
|
|
95
|
+
answer?: string;
|
|
96
|
+
/** Execution traces from agents */
|
|
97
|
+
traces?: DeepAgentsTrace[];
|
|
98
|
+
/** Messages exchanged between agents */
|
|
99
|
+
messages?: DeepAgentsMessage[];
|
|
100
|
+
/** Agents that participated in the execution */
|
|
101
|
+
agents?: string[];
|
|
102
|
+
/** Total execution time */
|
|
103
|
+
executionTimeMs?: number;
|
|
104
|
+
/** Token usage if available */
|
|
105
|
+
tokenUsage?: {
|
|
106
|
+
prompt?: number;
|
|
107
|
+
completion?: number;
|
|
108
|
+
total?: number;
|
|
109
|
+
};
|
|
110
|
+
/** Raw response data */
|
|
111
|
+
[key: string]: unknown;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Trace of a single agent's execution
|
|
115
|
+
*/
|
|
116
|
+
export interface DeepAgentsTrace {
|
|
117
|
+
/** Agent identifier */
|
|
118
|
+
agent: string;
|
|
119
|
+
/** Action taken by the agent */
|
|
120
|
+
action: string;
|
|
121
|
+
/** Input to the action */
|
|
122
|
+
input?: unknown;
|
|
123
|
+
/** Output/result of the action */
|
|
124
|
+
output?: unknown;
|
|
125
|
+
/** Timestamp */
|
|
126
|
+
timestamp?: number;
|
|
127
|
+
/** Duration in milliseconds */
|
|
128
|
+
durationMs?: number;
|
|
129
|
+
/** Tools used during this action */
|
|
130
|
+
toolsUsed?: string[];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Message exchanged between agents
|
|
134
|
+
*/
|
|
135
|
+
export interface DeepAgentsMessage {
|
|
136
|
+
/** Sender agent */
|
|
137
|
+
from: string;
|
|
138
|
+
/** Recipient agent */
|
|
139
|
+
to: string;
|
|
140
|
+
/** Message content */
|
|
141
|
+
content: string;
|
|
142
|
+
/** Message type */
|
|
143
|
+
type?: 'request' | 'response' | 'broadcast' | 'delegation';
|
|
144
|
+
/** Timestamp */
|
|
145
|
+
timestamp?: number;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Streaming event from DeepAgents
|
|
149
|
+
*/
|
|
150
|
+
export interface DeepAgentsStreamEvent {
|
|
151
|
+
/** Event type */
|
|
152
|
+
type: 'agent_start' | 'agent_end' | 'message' | 'tool_use' | 'token' | 'error' | 'done';
|
|
153
|
+
/** Agent involved */
|
|
154
|
+
agent?: string;
|
|
155
|
+
/** Event data */
|
|
156
|
+
data?: unknown;
|
|
157
|
+
/** Text content (for token events) */
|
|
158
|
+
content?: string;
|
|
159
|
+
/** Timestamp */
|
|
160
|
+
timestamp?: number;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Metadata extracted from DeepAgents execution
|
|
164
|
+
*/
|
|
165
|
+
export interface DeepAgentsExecutionMetadata {
|
|
166
|
+
/** System/workflow name */
|
|
167
|
+
name?: string;
|
|
168
|
+
/** Agents that participated */
|
|
169
|
+
agentsInvolved: string[];
|
|
170
|
+
/** Total agent invocations */
|
|
171
|
+
totalAgentCalls: number;
|
|
172
|
+
/** Total messages exchanged */
|
|
173
|
+
totalMessages: number;
|
|
174
|
+
/** Total tool calls across all agents */
|
|
175
|
+
totalToolCalls: number;
|
|
176
|
+
/** Unique tools used */
|
|
177
|
+
toolsUsed: string[];
|
|
178
|
+
/** Execution traces */
|
|
179
|
+
traces?: DeepAgentsTrace[];
|
|
180
|
+
/** Messages log */
|
|
181
|
+
messages?: DeepAgentsMessage[];
|
|
182
|
+
/** Total execution time */
|
|
183
|
+
executionTimeMs?: number;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@artemiskit/adapter-deepagents",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "DeepAgents.js adapter for ArtemisKit - Test DeepAgents multi-agent systems",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "Apache-2.0",
|
|
7
|
+
"author": "code-sensei",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/code-sensei/artemiskit.git",
|
|
11
|
+
"directory": "packages/adapters/deepagents"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/code-sensei/artemiskit/issues"
|
|
15
|
+
},
|
|
16
|
+
"homepage": "https://artemiskit.vercel.app",
|
|
17
|
+
"keywords": ["llm", "deepagents", "multi-agent", "agents", "adapter", "artemiskit", "testing"],
|
|
18
|
+
"main": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"import": "./dist/index.js",
|
|
23
|
+
"types": "./dist/index.d.ts"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "tsc && bun build ./src/index.ts --outdir ./dist --target bun",
|
|
28
|
+
"typecheck": "tsc --noEmit",
|
|
29
|
+
"clean": "rm -rf dist",
|
|
30
|
+
"test": "bun test"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@artemiskit/core": "workspace:*",
|
|
34
|
+
"nanoid": "^5.0.0"
|
|
35
|
+
},
|
|
36
|
+
"peerDependencies": {
|
|
37
|
+
"deepagents": ">=0.1.0"
|
|
38
|
+
},
|
|
39
|
+
"peerDependenciesMeta": {
|
|
40
|
+
"deepagents": {
|
|
41
|
+
"optional": true
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/bun": "^1.1.0",
|
|
46
|
+
"typescript": "^5.3.0"
|
|
47
|
+
}
|
|
48
|
+
}
|