@jclaw/core 0.1.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/auto-skill/generator.d.ts +30 -0
- package/dist/auto-skill/generator.d.ts.map +1 -0
- package/dist/auto-skill/generator.js +262 -0
- package/dist/auto-skill/generator.js.map +1 -0
- package/dist/auto-skill/index.d.ts +11 -0
- package/dist/auto-skill/index.d.ts.map +1 -0
- package/dist/auto-skill/index.js +10 -0
- package/dist/auto-skill/index.js.map +1 -0
- package/dist/auto-skill/installer.d.ts +44 -0
- package/dist/auto-skill/installer.d.ts.map +1 -0
- package/dist/auto-skill/installer.js +201 -0
- package/dist/auto-skill/installer.js.map +1 -0
- package/dist/auto-skill/types.d.ts +179 -0
- package/dist/auto-skill/types.d.ts.map +1 -0
- package/dist/auto-skill/types.js +9 -0
- package/dist/auto-skill/types.js.map +1 -0
- package/dist/cli/commands/config.d.ts +16 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +119 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/exec.d.ts +12 -0
- package/dist/cli/commands/exec.d.ts.map +1 -0
- package/dist/cli/commands/exec.js +41 -0
- package/dist/cli/commands/exec.js.map +1 -0
- package/dist/cli/index.d.ts +10 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +91 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/run.d.ts +9 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +13 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/context/index.d.ts +6 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +12 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/memsearch-client.d.ts +34 -0
- package/dist/context/memsearch-client.d.ts.map +1 -0
- package/dist/context/memsearch-client.js +182 -0
- package/dist/context/memsearch-client.js.map +1 -0
- package/dist/context/mock-client.d.ts +116 -0
- package/dist/context/mock-client.d.ts.map +1 -0
- package/dist/context/mock-client.js +150 -0
- package/dist/context/mock-client.js.map +1 -0
- package/dist/context/openviking-client.d.ts +87 -0
- package/dist/context/openviking-client.d.ts.map +1 -0
- package/dist/context/openviking-client.js +166 -0
- package/dist/context/openviking-client.js.map +1 -0
- package/dist/context/openviking-mcp-client.d.ts +29 -0
- package/dist/context/openviking-mcp-client.d.ts.map +1 -0
- package/dist/context/openviking-mcp-client.js +81 -0
- package/dist/context/openviking-mcp-client.js.map +1 -0
- package/dist/context/simple-memory-client.d.ts +43 -0
- package/dist/context/simple-memory-client.d.ts.map +1 -0
- package/dist/context/simple-memory-client.enhanced.d.ts +39 -0
- package/dist/context/simple-memory-client.enhanced.d.ts.map +1 -0
- package/dist/context/simple-memory-client.enhanced.js +207 -0
- package/dist/context/simple-memory-client.enhanced.js.map +1 -0
- package/dist/context/simple-memory-client.js +270 -0
- package/dist/context/simple-memory-client.js.map +1 -0
- package/dist/evolution/continuous.d.ts +127 -0
- package/dist/evolution/continuous.d.ts.map +1 -0
- package/dist/evolution/continuous.js +238 -0
- package/dist/evolution/continuous.js.map +1 -0
- package/dist/evolution/engine.d.ts +97 -0
- package/dist/evolution/engine.d.ts.map +1 -0
- package/dist/evolution/engine.js +187 -0
- package/dist/evolution/engine.js.map +1 -0
- package/dist/evolution/evolver-adapter.d.ts +104 -0
- package/dist/evolution/evolver-adapter.d.ts.map +1 -0
- package/dist/evolution/evolver-adapter.js +227 -0
- package/dist/evolution/evolver-adapter.js.map +1 -0
- package/dist/evolution/index.d.ts +9 -0
- package/dist/evolution/index.d.ts.map +1 -0
- package/dist/evolution/index.js +8 -0
- package/dist/evolution/index.js.map +1 -0
- package/dist/evolution/memory.d.ts +106 -0
- package/dist/evolution/memory.d.ts.map +1 -0
- package/dist/evolution/memory.js +232 -0
- package/dist/evolution/memory.js.map +1 -0
- package/dist/evolution/mutation.d.ts +66 -0
- package/dist/evolution/mutation.d.ts.map +1 -0
- package/dist/evolution/mutation.js +139 -0
- package/dist/evolution/mutation.js.map +1 -0
- package/dist/evolution/sandbox.d.ts +96 -0
- package/dist/evolution/sandbox.d.ts.map +1 -0
- package/dist/evolution/sandbox.js +194 -0
- package/dist/evolution/sandbox.js.map +1 -0
- package/dist/evolution/types.d.ts +93 -0
- package/dist/evolution/types.d.ts.map +1 -0
- package/dist/evolution/types.js +9 -0
- package/dist/evolution/types.js.map +1 -0
- package/dist/executor/index.d.ts +10 -0
- package/dist/executor/index.d.ts.map +1 -0
- package/dist/executor/index.js +10 -0
- package/dist/executor/index.js.map +1 -0
- package/dist/executor/interface.d.ts +9 -0
- package/dist/executor/interface.d.ts.map +1 -0
- package/dist/executor/interface.js +9 -0
- package/dist/executor/interface.js.map +1 -0
- package/dist/executor/local.d.ts +36 -0
- package/dist/executor/local.d.ts.map +1 -0
- package/dist/executor/local.js +95 -0
- package/dist/executor/local.js.map +1 -0
- package/dist/extension-system/capability-router.d.ts +106 -0
- package/dist/extension-system/capability-router.d.ts.map +1 -0
- package/dist/extension-system/capability-router.js +167 -0
- package/dist/extension-system/capability-router.js.map +1 -0
- package/dist/extension-system/index.d.ts +11 -0
- package/dist/extension-system/index.d.ts.map +1 -0
- package/dist/extension-system/index.js +11 -0
- package/dist/extension-system/index.js.map +1 -0
- package/dist/extension-system/loader.d.ts +93 -0
- package/dist/extension-system/loader.d.ts.map +1 -0
- package/dist/extension-system/loader.js +245 -0
- package/dist/extension-system/loader.js.map +1 -0
- package/dist/extension-system/registry.d.ts +112 -0
- package/dist/extension-system/registry.d.ts.map +1 -0
- package/dist/extension-system/registry.js +161 -0
- package/dist/extension-system/registry.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/network/client.d.ts +130 -0
- package/dist/network/client.d.ts.map +1 -0
- package/dist/network/client.js +230 -0
- package/dist/network/client.js.map +1 -0
- package/dist/network/index.d.ts +10 -0
- package/dist/network/index.d.ts.map +1 -0
- package/dist/network/index.js +10 -0
- package/dist/network/index.js.map +1 -0
- package/dist/network/protocol.d.ts +159 -0
- package/dist/network/protocol.d.ts.map +1 -0
- package/dist/network/protocol.js +118 -0
- package/dist/network/protocol.js.map +1 -0
- package/dist/runtime/agent.d.ts +124 -0
- package/dist/runtime/agent.d.ts.map +1 -0
- package/dist/runtime/agent.js +286 -0
- package/dist/runtime/agent.js.map +1 -0
- package/dist/runtime/agent_fixed.d.ts +39 -0
- package/dist/runtime/agent_fixed.d.ts.map +1 -0
- package/dist/runtime/agent_fixed.js +193 -0
- package/dist/runtime/agent_fixed.js.map +1 -0
- package/dist/runtime/index.d.ts +11 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +11 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/llm-client.d.ts +108 -0
- package/dist/runtime/llm-client.d.ts.map +1 -0
- package/dist/runtime/llm-client.js +125 -0
- package/dist/runtime/llm-client.js.map +1 -0
- package/dist/runtime/task-executor.d.ts +92 -0
- package/dist/runtime/task-executor.d.ts.map +1 -0
- package/dist/runtime/task-executor.js +203 -0
- package/dist/runtime/task-executor.js.map +1 -0
- package/dist/skill-sh/adapter.d.ts +40 -0
- package/dist/skill-sh/adapter.d.ts.map +1 -0
- package/dist/skill-sh/adapter.js +258 -0
- package/dist/skill-sh/adapter.js.map +1 -0
- package/dist/skill-sh/converter.d.ts +37 -0
- package/dist/skill-sh/converter.d.ts.map +1 -0
- package/dist/skill-sh/converter.js +175 -0
- package/dist/skill-sh/converter.js.map +1 -0
- package/dist/skill-sh/discovery.d.ts +29 -0
- package/dist/skill-sh/discovery.d.ts.map +1 -0
- package/dist/skill-sh/discovery.js +189 -0
- package/dist/skill-sh/discovery.js.map +1 -0
- package/dist/skill-sh/index.d.ts +19 -0
- package/dist/skill-sh/index.d.ts.map +1 -0
- package/dist/skill-sh/index.js +20 -0
- package/dist/skill-sh/index.js.map +1 -0
- package/dist/skill-sh/quality.d.ts +51 -0
- package/dist/skill-sh/quality.d.ts.map +1 -0
- package/dist/skill-sh/quality.js +146 -0
- package/dist/skill-sh/quality.js.map +1 -0
- package/dist/skill-sh/registry.d.ts +58 -0
- package/dist/skill-sh/registry.d.ts.map +1 -0
- package/dist/skill-sh/registry.js +118 -0
- package/dist/skill-sh/registry.js.map +1 -0
- package/dist/skill-sh/types.d.ts +228 -0
- package/dist/skill-sh/types.d.ts.map +1 -0
- package/dist/skill-sh/types.js +9 -0
- package/dist/skill-sh/types.js.map +1 -0
- package/dist/types.d.ts +199 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A/GEP Protocol
|
|
3
|
+
*
|
|
4
|
+
* Protocol definitions for agent-to-agent communication.
|
|
5
|
+
*
|
|
6
|
+
* @module @jclaw/core/network/protocol
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A2A Message types
|
|
10
|
+
*/
|
|
11
|
+
export type A2AMessageType = 'greeting' | 'gene_share' | 'gene_request' | 'gene_response' | 'task_delegate' | 'task_result' | 'heartbeat' | 'goodbye';
|
|
12
|
+
/**
|
|
13
|
+
* A2A Protocol message
|
|
14
|
+
*/
|
|
15
|
+
export interface A2AMessage {
|
|
16
|
+
/** Protocol version */
|
|
17
|
+
version: string;
|
|
18
|
+
/** Message type */
|
|
19
|
+
type: A2AMessageType;
|
|
20
|
+
/** Sender agent ID */
|
|
21
|
+
from: string;
|
|
22
|
+
/** Recipient agent ID (or 'broadcast') */
|
|
23
|
+
to: string;
|
|
24
|
+
/** Message payload */
|
|
25
|
+
payload: unknown;
|
|
26
|
+
/** Message timestamp */
|
|
27
|
+
timestamp: number;
|
|
28
|
+
/** Message ID for tracking */
|
|
29
|
+
messageId: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* GEP (Gene Exchange Protocol) packet
|
|
33
|
+
*/
|
|
34
|
+
export interface GEPPacket {
|
|
35
|
+
/** Protocol version */
|
|
36
|
+
version: string;
|
|
37
|
+
/** Gene ID */
|
|
38
|
+
geneId: string;
|
|
39
|
+
/** Gene type */
|
|
40
|
+
geneType: 'behavior' | 'knowledge' | 'skill';
|
|
41
|
+
/** Gene data (compressed/encoded) */
|
|
42
|
+
data: string;
|
|
43
|
+
/** Gene metadata */
|
|
44
|
+
metadata: {
|
|
45
|
+
fitness: number;
|
|
46
|
+
generation: number;
|
|
47
|
+
parents: string[];
|
|
48
|
+
checksum: string;
|
|
49
|
+
};
|
|
50
|
+
/** Timestamp */
|
|
51
|
+
timestamp: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Node registration info
|
|
55
|
+
*/
|
|
56
|
+
export interface NodeInfo {
|
|
57
|
+
/** Node ID */
|
|
58
|
+
id: string;
|
|
59
|
+
/** Node name */
|
|
60
|
+
name: string;
|
|
61
|
+
/** Node version */
|
|
62
|
+
version: string;
|
|
63
|
+
/** Node capabilities */
|
|
64
|
+
capabilities: string[];
|
|
65
|
+
/** Endpoint URL */
|
|
66
|
+
endpoint: string;
|
|
67
|
+
/** Last heartbeat */
|
|
68
|
+
lastSeen: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Gene share payload
|
|
72
|
+
*/
|
|
73
|
+
export interface GeneSharePayload {
|
|
74
|
+
/** Genes to share */
|
|
75
|
+
genes: GEPPacket[];
|
|
76
|
+
/** Request acknowledgment */
|
|
77
|
+
requireAck: boolean;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Gene request payload
|
|
81
|
+
*/
|
|
82
|
+
export interface GeneRequestPayload {
|
|
83
|
+
/** Gene types to request */
|
|
84
|
+
types?: ('behavior' | 'knowledge' | 'skill')[];
|
|
85
|
+
/** Minimum fitness threshold */
|
|
86
|
+
minFitness?: number;
|
|
87
|
+
/** Maximum genes to return */
|
|
88
|
+
limit?: number;
|
|
89
|
+
/** Specific gene IDs to request */
|
|
90
|
+
geneIds?: string[];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Task delegation payload
|
|
94
|
+
*/
|
|
95
|
+
export interface TaskDelegatePayload {
|
|
96
|
+
/** Task ID */
|
|
97
|
+
taskId: string;
|
|
98
|
+
/** Task description */
|
|
99
|
+
description: string;
|
|
100
|
+
/** Required capabilities */
|
|
101
|
+
requiredCapabilities: string[];
|
|
102
|
+
/** Task deadline */
|
|
103
|
+
deadline?: number;
|
|
104
|
+
/** Priority (1-10) */
|
|
105
|
+
priority?: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* A2A Protocol helper functions
|
|
109
|
+
*/
|
|
110
|
+
export declare class A2AProtocol {
|
|
111
|
+
private static VERSION;
|
|
112
|
+
/**
|
|
113
|
+
* Create a new A2A message.
|
|
114
|
+
*/
|
|
115
|
+
static createMessage(type: A2AMessageType, from: string, to: string, payload: unknown): A2AMessage;
|
|
116
|
+
/**
|
|
117
|
+
* Create a greeting message.
|
|
118
|
+
*/
|
|
119
|
+
static createGreeting(from: string, to: string, nodeInfo: NodeInfo): A2AMessage;
|
|
120
|
+
/**
|
|
121
|
+
* Create a gene share message.
|
|
122
|
+
*/
|
|
123
|
+
static createGeneShare(from: string, to: string, genes: GEPPacket[], requireAck?: boolean): A2AMessage;
|
|
124
|
+
/**
|
|
125
|
+
* Create a gene request message.
|
|
126
|
+
*/
|
|
127
|
+
static createGeneRequest(from: string, to: string, request: GeneRequestPayload): A2AMessage;
|
|
128
|
+
/**
|
|
129
|
+
* Create a task delegation message.
|
|
130
|
+
*/
|
|
131
|
+
static createTaskDelegate(from: string, to: string, task: TaskDelegatePayload): A2AMessage;
|
|
132
|
+
/**
|
|
133
|
+
* Create a heartbeat message.
|
|
134
|
+
*/
|
|
135
|
+
static createHeartbeat(from: string, to: string): A2AMessage;
|
|
136
|
+
/**
|
|
137
|
+
* Validate an A2A message.
|
|
138
|
+
*/
|
|
139
|
+
static validate(message: A2AMessage): boolean;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* GEP Protocol helper functions
|
|
143
|
+
*/
|
|
144
|
+
export declare class GEPProtocol {
|
|
145
|
+
private static VERSION;
|
|
146
|
+
/**
|
|
147
|
+
* Create a GEP packet from gene data.
|
|
148
|
+
*/
|
|
149
|
+
static createPacket(geneId: string, geneType: 'behavior' | 'knowledge' | 'skill', data: string, metadata: Omit<GEPPacket['metadata'], 'checksum'>): GEPPacket;
|
|
150
|
+
/**
|
|
151
|
+
* Validate a GEP packet.
|
|
152
|
+
*/
|
|
153
|
+
static validate(packet: GEPPacket): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Calculate checksum for data integrity.
|
|
156
|
+
*/
|
|
157
|
+
private static calculateChecksum;
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/network/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A2A/GEP Protocol
|
|
3
|
+
*
|
|
4
|
+
* Protocol definitions for agent-to-agent communication.
|
|
5
|
+
*
|
|
6
|
+
* @module @jclaw/core/network/protocol
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* A2A Protocol helper functions
|
|
10
|
+
*/
|
|
11
|
+
export class A2AProtocol {
|
|
12
|
+
static VERSION = '1.0.0';
|
|
13
|
+
/**
|
|
14
|
+
* Create a new A2A message.
|
|
15
|
+
*/
|
|
16
|
+
static createMessage(type, from, to, payload) {
|
|
17
|
+
return {
|
|
18
|
+
version: A2AProtocol.VERSION,
|
|
19
|
+
type,
|
|
20
|
+
from,
|
|
21
|
+
to,
|
|
22
|
+
payload,
|
|
23
|
+
timestamp: Date.now(),
|
|
24
|
+
messageId: `msg-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a greeting message.
|
|
29
|
+
*/
|
|
30
|
+
static createGreeting(from, to, nodeInfo) {
|
|
31
|
+
return A2AProtocol.createMessage('greeting', from, to, nodeInfo);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create a gene share message.
|
|
35
|
+
*/
|
|
36
|
+
static createGeneShare(from, to, genes, requireAck = false) {
|
|
37
|
+
const payload = { genes, requireAck };
|
|
38
|
+
return A2AProtocol.createMessage('gene_share', from, to, payload);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a gene request message.
|
|
42
|
+
*/
|
|
43
|
+
static createGeneRequest(from, to, request) {
|
|
44
|
+
return A2AProtocol.createMessage('gene_request', from, to, request);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Create a task delegation message.
|
|
48
|
+
*/
|
|
49
|
+
static createTaskDelegate(from, to, task) {
|
|
50
|
+
return A2AProtocol.createMessage('task_delegate', from, to, task);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Create a heartbeat message.
|
|
54
|
+
*/
|
|
55
|
+
static createHeartbeat(from, to) {
|
|
56
|
+
return A2AProtocol.createMessage('heartbeat', from, to, { timestamp: Date.now() });
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Validate an A2A message.
|
|
60
|
+
*/
|
|
61
|
+
static validate(message) {
|
|
62
|
+
if (!message.version || !message.type || !message.from || !message.to) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (!message.timestamp || !message.messageId) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* GEP Protocol helper functions
|
|
73
|
+
*/
|
|
74
|
+
export class GEPProtocol {
|
|
75
|
+
static VERSION = '1.0.0';
|
|
76
|
+
/**
|
|
77
|
+
* Create a GEP packet from gene data.
|
|
78
|
+
*/
|
|
79
|
+
static createPacket(geneId, geneType, data, metadata) {
|
|
80
|
+
const checksum = GEPProtocol.calculateChecksum(data);
|
|
81
|
+
return {
|
|
82
|
+
version: GEPProtocol.VERSION,
|
|
83
|
+
geneId,
|
|
84
|
+
geneType,
|
|
85
|
+
data,
|
|
86
|
+
metadata: { ...metadata, checksum },
|
|
87
|
+
timestamp: Date.now(),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Validate a GEP packet.
|
|
92
|
+
*/
|
|
93
|
+
static validate(packet) {
|
|
94
|
+
if (!packet.version || !packet.geneId || !packet.geneType || !packet.data) {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
if (!packet.metadata || !packet.timestamp) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
// Verify checksum
|
|
101
|
+
const expectedChecksum = GEPProtocol.calculateChecksum(packet.data);
|
|
102
|
+
return packet.metadata.checksum === expectedChecksum;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Calculate checksum for data integrity.
|
|
106
|
+
*/
|
|
107
|
+
static calculateChecksum(data) {
|
|
108
|
+
// Simple hash function for checksum
|
|
109
|
+
let hash = 0;
|
|
110
|
+
for (let i = 0; i < data.length; i++) {
|
|
111
|
+
const char = data.charCodeAt(i);
|
|
112
|
+
hash = (hash << 5) - hash + char;
|
|
113
|
+
hash = hash & hash; // Convert to 32-bit integer
|
|
114
|
+
}
|
|
115
|
+
return Math.abs(hash).toString(16);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/network/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Runtime
|
|
3
|
+
*
|
|
4
|
+
* Core implementation of the JClaw agent runtime.
|
|
5
|
+
* Provides task execution, context management, and lifecycle control.
|
|
6
|
+
* Now with AutoSkill support for self-evolving capabilities!
|
|
7
|
+
*
|
|
8
|
+
* @module @jclaw/core/runtime/agent
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentRuntime, Task, TaskResult, ContextManager } from '../types.js';
|
|
11
|
+
import { type LLMClientConfig } from './llm-client.js';
|
|
12
|
+
import { ExtensionRegistry } from '../extension-system/registry.js';
|
|
13
|
+
import type { AutoSkillConfig, GeneratedExtension } from '../auto-skill/types.js';
|
|
14
|
+
import type { SkillShAdapterConfig } from '../skill-sh/types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Configuration for the agent runtime
|
|
17
|
+
*/
|
|
18
|
+
export interface AgentConfig {
|
|
19
|
+
/** Agent name */
|
|
20
|
+
name?: string;
|
|
21
|
+
/** Agent version */
|
|
22
|
+
version?: string;
|
|
23
|
+
/** Execution mode (default: 'local') */
|
|
24
|
+
executionMode?: 'local' | 'docker' | 'hybrid';
|
|
25
|
+
/** LLM client configuration */
|
|
26
|
+
llm?: LLMClientConfig;
|
|
27
|
+
/** Context manager instance */
|
|
28
|
+
contextManager?: ContextManager;
|
|
29
|
+
/** System prompt for the agent */
|
|
30
|
+
systemPrompt?: string;
|
|
31
|
+
/** Enable verbose logging */
|
|
32
|
+
verbose?: boolean;
|
|
33
|
+
/** Enable automatic skill generation */
|
|
34
|
+
enableAutoSkill?: boolean;
|
|
35
|
+
/** AutoSkill configuration */
|
|
36
|
+
autoSkillConfig?: Partial<AutoSkillConfig>;
|
|
37
|
+
/** Skill.sh configuration */
|
|
38
|
+
skillShConfig?: Partial<SkillShAdapterConfig>;
|
|
39
|
+
/** Extension registry for managing capabilities */
|
|
40
|
+
extensionRegistry?: ExtensionRegistry;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* JClaw Agent Runtime
|
|
44
|
+
*
|
|
45
|
+
* The main runtime for executing tasks with the JClaw agent.
|
|
46
|
+
* Implements the AgentRuntime interface and provides:
|
|
47
|
+
* - Task execution with LLM integration
|
|
48
|
+
* - Context management through SimpleMemory
|
|
49
|
+
* - Command execution through local/docker executors
|
|
50
|
+
* - **NEW: AutoSkill for self-generating capabilities!**
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const agent = new JClawAgent({
|
|
55
|
+
* name: 'my-agent',
|
|
56
|
+
* enableAutoSkill: true, // Enable self-evolution!
|
|
57
|
+
* llm: {
|
|
58
|
+
* apiBase: 'https://api.openai.com/v1',
|
|
59
|
+
* apiKey: process.env.OPENAI_API_KEY!,
|
|
60
|
+
* model: 'gpt-4'
|
|
61
|
+
* }
|
|
62
|
+
* });
|
|
63
|
+
*
|
|
64
|
+
* await agent.start();
|
|
65
|
+
* const result = await agent.execute({
|
|
66
|
+
* id: 'task-1',
|
|
67
|
+
* prompt: 'Analyze the project structure'
|
|
68
|
+
* });
|
|
69
|
+
* await agent.stop();
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare class JClawAgent implements AgentRuntime {
|
|
73
|
+
readonly executionMode: 'local' | 'docker' | 'hybrid';
|
|
74
|
+
private readonly config;
|
|
75
|
+
private llmClient?;
|
|
76
|
+
private taskExecutor?;
|
|
77
|
+
private running;
|
|
78
|
+
private autoSkillGenerator?;
|
|
79
|
+
private autoSkillInstaller?;
|
|
80
|
+
private _skillShAdapter?;
|
|
81
|
+
private _skillConverter?;
|
|
82
|
+
private _skillDiscovery?;
|
|
83
|
+
private _skillRegistry?;
|
|
84
|
+
private evolutionEngine?;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new JClaw agent instance.
|
|
87
|
+
*
|
|
88
|
+
* @param config - Configuration options
|
|
89
|
+
*/
|
|
90
|
+
constructor(config?: AgentConfig);
|
|
91
|
+
/**
|
|
92
|
+
* Get the context manager instance.
|
|
93
|
+
*/
|
|
94
|
+
get context(): ContextManager;
|
|
95
|
+
/**
|
|
96
|
+
* Start the agent runtime.
|
|
97
|
+
*/
|
|
98
|
+
start(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Stop the agent runtime.
|
|
101
|
+
*/
|
|
102
|
+
stop(): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Execute a task.
|
|
105
|
+
*
|
|
106
|
+
* @param task - The task to execute
|
|
107
|
+
* @returns Task execution result
|
|
108
|
+
*/
|
|
109
|
+
execute(task: Task): Promise<TaskResult>;
|
|
110
|
+
/**
|
|
111
|
+
* Execute a task with AutoSkill self-evolution support.
|
|
112
|
+
*
|
|
113
|
+
* This method attempts to execute the task, and if it fails due to missing
|
|
114
|
+
* capabilities, it will automatically discover, generate, and install new skills.
|
|
115
|
+
*/
|
|
116
|
+
private executeWithAutoSkill;
|
|
117
|
+
generateSkillsForTask(task: Task): Promise<GeneratedExtension[]>;
|
|
118
|
+
isRunning(): boolean;
|
|
119
|
+
get name(): string;
|
|
120
|
+
get version(): string;
|
|
121
|
+
private getDefaultSystemPrompt;
|
|
122
|
+
}
|
|
123
|
+
export declare function createAgent(config?: AgentConfig): JClawAgent;
|
|
124
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/runtime/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElF,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAQpE,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAOlF,OAAO,KAAK,EAAE,oBAAoB,EAAwB,MAAM,sBAAsB,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,aAAa,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,+BAA+B;IAC/B,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,kCAAkC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8BAA8B;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3C,6BAA6B;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,UAAW,YAAW,YAAY;IAC7C,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAKrB;IAEF,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAEhD,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,eAAe,CAAC,CAAuB;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAE1C;;;;OAIG;gBACS,MAAM,GAAE,WAAgB;IAepC;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,CAK5B;IAED;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAU3B;;;;;OAKG;IACG,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAiC9C;;;;;OAKG;YACW,oBAAoB;IAmE5B,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAwBtE,SAAS,IAAI,OAAO;IAIpB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,OAAO,CAAC,sBAAsB;CAoB/B;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,UAAU,CAE5D"}
|