@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.
Files changed (189) hide show
  1. package/dist/auto-skill/generator.d.ts +30 -0
  2. package/dist/auto-skill/generator.d.ts.map +1 -0
  3. package/dist/auto-skill/generator.js +262 -0
  4. package/dist/auto-skill/generator.js.map +1 -0
  5. package/dist/auto-skill/index.d.ts +11 -0
  6. package/dist/auto-skill/index.d.ts.map +1 -0
  7. package/dist/auto-skill/index.js +10 -0
  8. package/dist/auto-skill/index.js.map +1 -0
  9. package/dist/auto-skill/installer.d.ts +44 -0
  10. package/dist/auto-skill/installer.d.ts.map +1 -0
  11. package/dist/auto-skill/installer.js +201 -0
  12. package/dist/auto-skill/installer.js.map +1 -0
  13. package/dist/auto-skill/types.d.ts +179 -0
  14. package/dist/auto-skill/types.d.ts.map +1 -0
  15. package/dist/auto-skill/types.js +9 -0
  16. package/dist/auto-skill/types.js.map +1 -0
  17. package/dist/cli/commands/config.d.ts +16 -0
  18. package/dist/cli/commands/config.d.ts.map +1 -0
  19. package/dist/cli/commands/config.js +119 -0
  20. package/dist/cli/commands/config.js.map +1 -0
  21. package/dist/cli/commands/exec.d.ts +12 -0
  22. package/dist/cli/commands/exec.d.ts.map +1 -0
  23. package/dist/cli/commands/exec.js +41 -0
  24. package/dist/cli/commands/exec.js.map +1 -0
  25. package/dist/cli/index.d.ts +10 -0
  26. package/dist/cli/index.d.ts.map +1 -0
  27. package/dist/cli/index.js +91 -0
  28. package/dist/cli/index.js.map +1 -0
  29. package/dist/cli/run.d.ts +9 -0
  30. package/dist/cli/run.d.ts.map +1 -0
  31. package/dist/cli/run.js +13 -0
  32. package/dist/cli/run.js.map +1 -0
  33. package/dist/context/index.d.ts +6 -0
  34. package/dist/context/index.d.ts.map +1 -0
  35. package/dist/context/index.js +12 -0
  36. package/dist/context/index.js.map +1 -0
  37. package/dist/context/memsearch-client.d.ts +34 -0
  38. package/dist/context/memsearch-client.d.ts.map +1 -0
  39. package/dist/context/memsearch-client.js +182 -0
  40. package/dist/context/memsearch-client.js.map +1 -0
  41. package/dist/context/mock-client.d.ts +116 -0
  42. package/dist/context/mock-client.d.ts.map +1 -0
  43. package/dist/context/mock-client.js +150 -0
  44. package/dist/context/mock-client.js.map +1 -0
  45. package/dist/context/openviking-client.d.ts +87 -0
  46. package/dist/context/openviking-client.d.ts.map +1 -0
  47. package/dist/context/openviking-client.js +166 -0
  48. package/dist/context/openviking-client.js.map +1 -0
  49. package/dist/context/openviking-mcp-client.d.ts +29 -0
  50. package/dist/context/openviking-mcp-client.d.ts.map +1 -0
  51. package/dist/context/openviking-mcp-client.js +81 -0
  52. package/dist/context/openviking-mcp-client.js.map +1 -0
  53. package/dist/context/simple-memory-client.d.ts +43 -0
  54. package/dist/context/simple-memory-client.d.ts.map +1 -0
  55. package/dist/context/simple-memory-client.enhanced.d.ts +39 -0
  56. package/dist/context/simple-memory-client.enhanced.d.ts.map +1 -0
  57. package/dist/context/simple-memory-client.enhanced.js +207 -0
  58. package/dist/context/simple-memory-client.enhanced.js.map +1 -0
  59. package/dist/context/simple-memory-client.js +270 -0
  60. package/dist/context/simple-memory-client.js.map +1 -0
  61. package/dist/evolution/continuous.d.ts +127 -0
  62. package/dist/evolution/continuous.d.ts.map +1 -0
  63. package/dist/evolution/continuous.js +238 -0
  64. package/dist/evolution/continuous.js.map +1 -0
  65. package/dist/evolution/engine.d.ts +97 -0
  66. package/dist/evolution/engine.d.ts.map +1 -0
  67. package/dist/evolution/engine.js +187 -0
  68. package/dist/evolution/engine.js.map +1 -0
  69. package/dist/evolution/evolver-adapter.d.ts +104 -0
  70. package/dist/evolution/evolver-adapter.d.ts.map +1 -0
  71. package/dist/evolution/evolver-adapter.js +227 -0
  72. package/dist/evolution/evolver-adapter.js.map +1 -0
  73. package/dist/evolution/index.d.ts +9 -0
  74. package/dist/evolution/index.d.ts.map +1 -0
  75. package/dist/evolution/index.js +8 -0
  76. package/dist/evolution/index.js.map +1 -0
  77. package/dist/evolution/memory.d.ts +106 -0
  78. package/dist/evolution/memory.d.ts.map +1 -0
  79. package/dist/evolution/memory.js +232 -0
  80. package/dist/evolution/memory.js.map +1 -0
  81. package/dist/evolution/mutation.d.ts +66 -0
  82. package/dist/evolution/mutation.d.ts.map +1 -0
  83. package/dist/evolution/mutation.js +139 -0
  84. package/dist/evolution/mutation.js.map +1 -0
  85. package/dist/evolution/sandbox.d.ts +96 -0
  86. package/dist/evolution/sandbox.d.ts.map +1 -0
  87. package/dist/evolution/sandbox.js +194 -0
  88. package/dist/evolution/sandbox.js.map +1 -0
  89. package/dist/evolution/types.d.ts +93 -0
  90. package/dist/evolution/types.d.ts.map +1 -0
  91. package/dist/evolution/types.js +9 -0
  92. package/dist/evolution/types.js.map +1 -0
  93. package/dist/executor/index.d.ts +10 -0
  94. package/dist/executor/index.d.ts.map +1 -0
  95. package/dist/executor/index.js +10 -0
  96. package/dist/executor/index.js.map +1 -0
  97. package/dist/executor/interface.d.ts +9 -0
  98. package/dist/executor/interface.d.ts.map +1 -0
  99. package/dist/executor/interface.js +9 -0
  100. package/dist/executor/interface.js.map +1 -0
  101. package/dist/executor/local.d.ts +36 -0
  102. package/dist/executor/local.d.ts.map +1 -0
  103. package/dist/executor/local.js +95 -0
  104. package/dist/executor/local.js.map +1 -0
  105. package/dist/extension-system/capability-router.d.ts +106 -0
  106. package/dist/extension-system/capability-router.d.ts.map +1 -0
  107. package/dist/extension-system/capability-router.js +167 -0
  108. package/dist/extension-system/capability-router.js.map +1 -0
  109. package/dist/extension-system/index.d.ts +11 -0
  110. package/dist/extension-system/index.d.ts.map +1 -0
  111. package/dist/extension-system/index.js +11 -0
  112. package/dist/extension-system/index.js.map +1 -0
  113. package/dist/extension-system/loader.d.ts +93 -0
  114. package/dist/extension-system/loader.d.ts.map +1 -0
  115. package/dist/extension-system/loader.js +245 -0
  116. package/dist/extension-system/loader.js.map +1 -0
  117. package/dist/extension-system/registry.d.ts +112 -0
  118. package/dist/extension-system/registry.d.ts.map +1 -0
  119. package/dist/extension-system/registry.js +161 -0
  120. package/dist/extension-system/registry.js.map +1 -0
  121. package/dist/index.d.ts +14 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +20 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/network/client.d.ts +130 -0
  126. package/dist/network/client.d.ts.map +1 -0
  127. package/dist/network/client.js +230 -0
  128. package/dist/network/client.js.map +1 -0
  129. package/dist/network/index.d.ts +10 -0
  130. package/dist/network/index.d.ts.map +1 -0
  131. package/dist/network/index.js +10 -0
  132. package/dist/network/index.js.map +1 -0
  133. package/dist/network/protocol.d.ts +159 -0
  134. package/dist/network/protocol.d.ts.map +1 -0
  135. package/dist/network/protocol.js +118 -0
  136. package/dist/network/protocol.js.map +1 -0
  137. package/dist/runtime/agent.d.ts +124 -0
  138. package/dist/runtime/agent.d.ts.map +1 -0
  139. package/dist/runtime/agent.js +286 -0
  140. package/dist/runtime/agent.js.map +1 -0
  141. package/dist/runtime/agent_fixed.d.ts +39 -0
  142. package/dist/runtime/agent_fixed.d.ts.map +1 -0
  143. package/dist/runtime/agent_fixed.js +193 -0
  144. package/dist/runtime/agent_fixed.js.map +1 -0
  145. package/dist/runtime/index.d.ts +11 -0
  146. package/dist/runtime/index.d.ts.map +1 -0
  147. package/dist/runtime/index.js +11 -0
  148. package/dist/runtime/index.js.map +1 -0
  149. package/dist/runtime/llm-client.d.ts +108 -0
  150. package/dist/runtime/llm-client.d.ts.map +1 -0
  151. package/dist/runtime/llm-client.js +125 -0
  152. package/dist/runtime/llm-client.js.map +1 -0
  153. package/dist/runtime/task-executor.d.ts +92 -0
  154. package/dist/runtime/task-executor.d.ts.map +1 -0
  155. package/dist/runtime/task-executor.js +203 -0
  156. package/dist/runtime/task-executor.js.map +1 -0
  157. package/dist/skill-sh/adapter.d.ts +40 -0
  158. package/dist/skill-sh/adapter.d.ts.map +1 -0
  159. package/dist/skill-sh/adapter.js +258 -0
  160. package/dist/skill-sh/adapter.js.map +1 -0
  161. package/dist/skill-sh/converter.d.ts +37 -0
  162. package/dist/skill-sh/converter.d.ts.map +1 -0
  163. package/dist/skill-sh/converter.js +175 -0
  164. package/dist/skill-sh/converter.js.map +1 -0
  165. package/dist/skill-sh/discovery.d.ts +29 -0
  166. package/dist/skill-sh/discovery.d.ts.map +1 -0
  167. package/dist/skill-sh/discovery.js +189 -0
  168. package/dist/skill-sh/discovery.js.map +1 -0
  169. package/dist/skill-sh/index.d.ts +19 -0
  170. package/dist/skill-sh/index.d.ts.map +1 -0
  171. package/dist/skill-sh/index.js +20 -0
  172. package/dist/skill-sh/index.js.map +1 -0
  173. package/dist/skill-sh/quality.d.ts +51 -0
  174. package/dist/skill-sh/quality.d.ts.map +1 -0
  175. package/dist/skill-sh/quality.js +146 -0
  176. package/dist/skill-sh/quality.js.map +1 -0
  177. package/dist/skill-sh/registry.d.ts +58 -0
  178. package/dist/skill-sh/registry.d.ts.map +1 -0
  179. package/dist/skill-sh/registry.js +118 -0
  180. package/dist/skill-sh/registry.js.map +1 -0
  181. package/dist/skill-sh/types.d.ts +228 -0
  182. package/dist/skill-sh/types.d.ts.map +1 -0
  183. package/dist/skill-sh/types.js +9 -0
  184. package/dist/skill-sh/types.js.map +1 -0
  185. package/dist/types.d.ts +199 -0
  186. package/dist/types.d.ts.map +1 -0
  187. package/dist/types.js +10 -0
  188. package/dist/types.js.map +1 -0
  189. 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"}