azerclaw 2.1.8 → 2.2.1

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 (261) hide show
  1. package/bin/azerclaw.ts +45 -6
  2. package/bin/opencode.ts +59 -0
  3. package/dist/bin/azerclaw.d.ts +1 -47
  4. package/dist/bin/azerclaw.d.ts.map +1 -1
  5. package/dist/bin/azerclaw.js +94 -55
  6. package/dist/bin/azerclaw.js.map +1 -1
  7. package/dist/bin/opencode.d.ts +14 -0
  8. package/dist/bin/opencode.d.ts.map +1 -0
  9. package/dist/bin/opencode.js +54 -0
  10. package/dist/bin/opencode.js.map +1 -0
  11. package/dist/src/agents/builtin.js +12 -12
  12. package/dist/src/brain/adapters/base.d.ts +33 -0
  13. package/dist/src/brain/adapters/base.d.ts.map +1 -0
  14. package/dist/src/brain/adapters/base.js +11 -0
  15. package/dist/src/brain/adapters/base.js.map +1 -0
  16. package/dist/src/brain/adapters/index.d.ts +11 -0
  17. package/dist/src/brain/adapters/index.d.ts.map +1 -0
  18. package/dist/src/brain/adapters/index.js +37 -0
  19. package/dist/src/brain/adapters/index.js.map +1 -0
  20. package/dist/src/brain/adapters/native.d.ts +15 -0
  21. package/dist/src/brain/adapters/native.d.ts.map +1 -0
  22. package/dist/src/brain/adapters/native.js +25 -0
  23. package/dist/src/brain/adapters/native.js.map +1 -0
  24. package/dist/src/brain/adapters/prompt.d.ts +16 -0
  25. package/dist/src/brain/adapters/prompt.d.ts.map +1 -0
  26. package/dist/src/brain/adapters/prompt.js +91 -0
  27. package/dist/src/brain/adapters/prompt.js.map +1 -0
  28. package/dist/src/brain/hybrid.d.ts +53 -0
  29. package/dist/src/brain/hybrid.d.ts.map +1 -0
  30. package/dist/src/brain/hybrid.js +263 -0
  31. package/dist/src/brain/hybrid.js.map +1 -0
  32. package/dist/src/brain/index.d.ts +8 -0
  33. package/dist/src/brain/index.d.ts.map +1 -0
  34. package/dist/src/brain/index.js +19 -0
  35. package/dist/src/brain/index.js.map +1 -0
  36. package/dist/src/brain/router.d.ts +55 -0
  37. package/dist/src/brain/router.d.ts.map +1 -0
  38. package/dist/src/brain/router.js +174 -0
  39. package/dist/src/brain/router.js.map +1 -0
  40. package/dist/src/channels/adapter.d.ts +6 -0
  41. package/dist/src/channels/adapter.d.ts.map +1 -1
  42. package/dist/src/channels/adapter.js +44 -1
  43. package/dist/src/channels/adapter.js.map +1 -1
  44. package/dist/src/channels/discord.d.ts.map +1 -1
  45. package/dist/src/channels/discord.js +60 -14
  46. package/dist/src/channels/discord.js.map +1 -1
  47. package/dist/src/channels/slack.d.ts +5 -0
  48. package/dist/src/channels/slack.d.ts.map +1 -1
  49. package/dist/src/channels/slack.js +77 -9
  50. package/dist/src/channels/slack.js.map +1 -1
  51. package/dist/src/channels/telegram.d.ts +1 -0
  52. package/dist/src/channels/telegram.d.ts.map +1 -1
  53. package/dist/src/channels/telegram.js +42 -4
  54. package/dist/src/channels/telegram.js.map +1 -1
  55. package/dist/src/channels/webhook.d.ts.map +1 -1
  56. package/dist/src/channels/webhook.js +37 -6
  57. package/dist/src/channels/webhook.js.map +1 -1
  58. package/dist/src/cli/animations/fish.d.ts +9 -0
  59. package/dist/src/cli/animations/fish.d.ts.map +1 -1
  60. package/dist/src/cli/animations/fish.js +64 -80
  61. package/dist/src/cli/animations/fish.js.map +1 -1
  62. package/dist/src/cli/animations/markdown.d.ts.map +1 -1
  63. package/dist/src/cli/animations/markdown.js +23 -4
  64. package/dist/src/cli/animations/markdown.js.map +1 -1
  65. package/dist/src/cli/commands/agents.js +31 -30
  66. package/dist/src/cli/commands/agents.js.map +1 -1
  67. package/dist/src/cli/commands/channels.js +41 -48
  68. package/dist/src/cli/commands/channels.js.map +1 -1
  69. package/dist/src/cli/commands/chat.d.ts +1 -0
  70. package/dist/src/cli/commands/chat.d.ts.map +1 -1
  71. package/dist/src/cli/commands/chat.js +81 -8
  72. package/dist/src/cli/commands/chat.js.map +1 -1
  73. package/dist/src/cli/commands/config.js +0 -1
  74. package/dist/src/cli/commands/config.js.map +1 -1
  75. package/dist/src/cli/commands/doctor.js +42 -40
  76. package/dist/src/cli/commands/doctor.js.map +1 -1
  77. package/dist/src/cli/commands/export.js +6 -6
  78. package/dist/src/cli/commands/export.js.map +1 -1
  79. package/dist/src/cli/commands/mcp.js +7 -7
  80. package/dist/src/cli/commands/mcp.js.map +1 -1
  81. package/dist/src/cli/commands/models.js +0 -1
  82. package/dist/src/cli/commands/models.js.map +1 -1
  83. package/dist/src/cli/commands/onboard.js +0 -55
  84. package/dist/src/cli/commands/onboard.js.map +1 -1
  85. package/dist/src/cli/commands/pairing.js +22 -24
  86. package/dist/src/cli/commands/pairing.js.map +1 -1
  87. package/dist/src/cli/commands/plugins.js +8 -8
  88. package/dist/src/cli/commands/plugins.js.map +1 -1
  89. package/dist/src/cli/commands/run.d.ts +1 -0
  90. package/dist/src/cli/commands/run.d.ts.map +1 -1
  91. package/dist/src/cli/commands/run.js +101 -50
  92. package/dist/src/cli/commands/run.js.map +1 -1
  93. package/dist/src/cli/commands/sandbox.js +27 -32
  94. package/dist/src/cli/commands/sandbox.js.map +1 -1
  95. package/dist/src/cli/commands/settings.js +1 -16
  96. package/dist/src/cli/commands/settings.js.map +1 -1
  97. package/dist/src/cli/commands/share.js +6 -6
  98. package/dist/src/cli/commands/share.js.map +1 -1
  99. package/dist/src/cli/commands/tui.js +0 -1
  100. package/dist/src/cli/commands/tui.js.map +1 -1
  101. package/dist/src/config/hotreload.d.ts +87 -0
  102. package/dist/src/config/hotreload.d.ts.map +1 -0
  103. package/dist/src/config/hotreload.js +497 -0
  104. package/dist/src/config/hotreload.js.map +1 -0
  105. package/dist/src/config/manager.d.ts +4 -2
  106. package/dist/src/config/manager.d.ts.map +1 -1
  107. package/dist/src/config/manager.js +23 -5
  108. package/dist/src/config/manager.js.map +1 -1
  109. package/dist/src/config/schema.d.ts +286 -9
  110. package/dist/src/config/schema.d.ts.map +1 -1
  111. package/dist/src/config/schema.js +71 -7
  112. package/dist/src/config/schema.js.map +1 -1
  113. package/dist/src/core/runtime.d.ts +18 -0
  114. package/dist/src/core/runtime.d.ts.map +1 -1
  115. package/dist/src/core/runtime.js +84 -14
  116. package/dist/src/core/runtime.js.map +1 -1
  117. package/dist/src/core/server.d.ts.map +1 -1
  118. package/dist/src/core/server.js +20 -2
  119. package/dist/src/core/server.js.map +1 -1
  120. package/dist/src/index.d.ts +2 -0
  121. package/dist/src/index.d.ts.map +1 -1
  122. package/dist/src/index.js +6 -0
  123. package/dist/src/index.js.map +1 -1
  124. package/dist/src/interfaces/terminal/dashboard.d.ts +80 -0
  125. package/dist/src/interfaces/terminal/dashboard.d.ts.map +1 -0
  126. package/dist/src/interfaces/terminal/dashboard.js +618 -0
  127. package/dist/src/interfaces/terminal/dashboard.js.map +1 -0
  128. package/dist/src/interfaces/terminal/index.d.ts +46 -0
  129. package/dist/src/interfaces/terminal/index.d.ts.map +1 -0
  130. package/dist/src/interfaces/terminal/index.js +171 -0
  131. package/dist/src/interfaces/terminal/index.js.map +1 -0
  132. package/dist/src/interfaces/terminal/visualizations.d.ts +78 -0
  133. package/dist/src/interfaces/terminal/visualizations.d.ts.map +1 -0
  134. package/dist/src/interfaces/terminal/visualizations.js +540 -0
  135. package/dist/src/interfaces/terminal/visualizations.js.map +1 -0
  136. package/dist/src/interfaces/web/server.d.ts +73 -0
  137. package/dist/src/interfaces/web/server.d.ts.map +1 -0
  138. package/dist/src/interfaces/web/server.js +505 -0
  139. package/dist/src/interfaces/web/server.js.map +1 -0
  140. package/dist/src/mcp-servers/antigravity/index.js +2 -2
  141. package/dist/src/mcp-servers/antigravity/index.js.map +1 -1
  142. package/dist/src/memory/dreaming.d.ts +91 -0
  143. package/dist/src/memory/dreaming.d.ts.map +1 -0
  144. package/dist/src/memory/dreaming.js +582 -0
  145. package/dist/src/memory/dreaming.js.map +1 -0
  146. package/dist/src/memory/index.d.ts +8 -0
  147. package/dist/src/memory/index.d.ts.map +1 -0
  148. package/dist/src/memory/index.js +29 -0
  149. package/dist/src/memory/index.js.map +1 -0
  150. package/dist/src/memory/store.d.ts +13 -0
  151. package/dist/src/memory/store.d.ts.map +1 -1
  152. package/dist/src/memory/store.js +28 -0
  153. package/dist/src/memory/store.js.map +1 -1
  154. package/dist/src/memory/vector.d.ts +94 -0
  155. package/dist/src/memory/vector.d.ts.map +1 -0
  156. package/dist/src/memory/vector.js +457 -0
  157. package/dist/src/memory/vector.js.map +1 -0
  158. package/dist/src/networking/analyzer.d.ts +189 -0
  159. package/dist/src/networking/analyzer.d.ts.map +1 -0
  160. package/dist/src/networking/analyzer.js +604 -0
  161. package/dist/src/networking/analyzer.js.map +1 -0
  162. package/dist/src/plugins/bundled/context-engine/index.d.ts +8 -0
  163. package/dist/src/plugins/bundled/context-engine/index.d.ts.map +1 -0
  164. package/dist/src/plugins/bundled/context-engine/index.js +353 -0
  165. package/dist/src/plugins/bundled/context-engine/index.js.map +1 -0
  166. package/dist/src/plugins/bundled/observability/index.d.ts +64 -0
  167. package/dist/src/plugins/bundled/observability/index.d.ts.map +1 -0
  168. package/dist/src/plugins/bundled/observability/index.js +441 -0
  169. package/dist/src/plugins/bundled/observability/index.js.map +1 -0
  170. package/dist/src/plugins/index.d.ts +15 -0
  171. package/dist/src/plugins/index.d.ts.map +1 -0
  172. package/dist/src/plugins/index.js +117 -0
  173. package/dist/src/plugins/index.js.map +1 -0
  174. package/dist/src/plugins/loader.d.ts +19 -0
  175. package/dist/src/plugins/loader.d.ts.map +1 -0
  176. package/dist/src/plugins/loader.js +333 -0
  177. package/dist/src/plugins/loader.js.map +1 -0
  178. package/dist/src/plugins/manager.d.ts +32 -0
  179. package/dist/src/plugins/manager.d.ts.map +1 -0
  180. package/dist/src/plugins/manager.js +410 -0
  181. package/dist/src/plugins/manager.js.map +1 -0
  182. package/dist/src/plugins/registry.d.ts +50 -0
  183. package/dist/src/plugins/registry.d.ts.map +1 -0
  184. package/dist/src/plugins/registry.js +285 -0
  185. package/dist/src/plugins/registry.js.map +1 -0
  186. package/dist/src/plugins/types.d.ts +165 -0
  187. package/dist/src/plugins/types.d.ts.map +1 -0
  188. package/dist/src/plugins/types.js +7 -0
  189. package/dist/src/plugins/types.js.map +1 -0
  190. package/dist/src/providers/base.d.ts +5 -0
  191. package/dist/src/providers/base.d.ts.map +1 -1
  192. package/dist/src/providers/base.js.map +1 -1
  193. package/dist/src/providers/huggingface.d.ts +27 -0
  194. package/dist/src/providers/huggingface.d.ts.map +1 -0
  195. package/dist/src/providers/huggingface.js +140 -0
  196. package/dist/src/providers/huggingface.js.map +1 -0
  197. package/dist/src/providers/kiloauto.d.ts +29 -0
  198. package/dist/src/providers/kiloauto.d.ts.map +1 -0
  199. package/dist/src/providers/kiloauto.js +242 -0
  200. package/dist/src/providers/kiloauto.js.map +1 -0
  201. package/dist/src/providers/localllama.d.ts +26 -0
  202. package/dist/src/providers/localllama.d.ts.map +1 -0
  203. package/dist/src/providers/localllama.js +192 -0
  204. package/dist/src/providers/localllama.js.map +1 -0
  205. package/dist/src/providers/openai.d.ts.map +1 -1
  206. package/dist/src/providers/openai.js +9 -1
  207. package/dist/src/providers/openai.js.map +1 -1
  208. package/dist/src/providers/router.d.ts.map +1 -1
  209. package/dist/src/providers/router.js +41 -5
  210. package/dist/src/providers/router.js.map +1 -1
  211. package/dist/src/scheduler/heartbeat.d.ts.map +1 -1
  212. package/dist/src/scheduler/heartbeat.js +23 -1
  213. package/dist/src/scheduler/heartbeat.js.map +1 -1
  214. package/dist/src/security/privacy.d.ts +199 -0
  215. package/dist/src/security/privacy.d.ts.map +1 -0
  216. package/dist/src/security/privacy.js +600 -0
  217. package/dist/src/security/privacy.js.map +1 -0
  218. package/dist/src/server/hq.d.ts.map +1 -1
  219. package/dist/src/server/hq.js +56 -4
  220. package/dist/src/server/hq.js.map +1 -1
  221. package/dist/src/skills/loader.d.ts.map +1 -1
  222. package/dist/src/skills/loader.js +13 -3
  223. package/dist/src/skills/loader.js.map +1 -1
  224. package/dist/src/tools/advanced.d.ts.map +1 -1
  225. package/dist/src/tools/advanced.js +73 -18
  226. package/dist/src/tools/advanced.js.map +1 -1
  227. package/dist/src/tools/filesystem.d.ts.map +1 -1
  228. package/dist/src/tools/filesystem.js +110 -7
  229. package/dist/src/tools/filesystem.js.map +1 -1
  230. package/dist/src/tools/index_memory.d.ts.map +1 -1
  231. package/dist/src/tools/index_memory.js +13 -6
  232. package/dist/src/tools/index_memory.js.map +1 -1
  233. package/dist/src/tools/loader.d.ts.map +1 -1
  234. package/dist/src/tools/loader.js +4 -2
  235. package/dist/src/tools/loader.js.map +1 -1
  236. package/dist/src/tools/registry.d.ts +6 -0
  237. package/dist/src/tools/registry.d.ts.map +1 -1
  238. package/dist/src/tools/registry.js +51 -12
  239. package/dist/src/tools/registry.js.map +1 -1
  240. package/dist/src/tools/shell.d.ts.map +1 -1
  241. package/dist/src/tools/shell.js +2 -0
  242. package/dist/src/tools/shell.js.map +1 -1
  243. package/dist/src/tools/specialized.d.ts.map +1 -1
  244. package/dist/src/tools/specialized.js +52 -12
  245. package/dist/src/tools/specialized.js.map +1 -1
  246. package/dist/src/workflow/engine.d.ts.map +1 -1
  247. package/dist/src/workflow/engine.js +43 -13
  248. package/dist/src/workflow/engine.js.map +1 -1
  249. package/dist/src/workflow/lobster.d.ts +138 -0
  250. package/dist/src/workflow/lobster.d.ts.map +1 -0
  251. package/dist/src/workflow/lobster.js +620 -0
  252. package/dist/src/workflow/lobster.js.map +1 -0
  253. package/dist/src/workspace/heartbeat.d.ts +122 -0
  254. package/dist/src/workspace/heartbeat.d.ts.map +1 -0
  255. package/dist/src/workspace/heartbeat.js +624 -0
  256. package/dist/src/workspace/heartbeat.js.map +1 -0
  257. package/dist/src/workspace/index.d.ts +29 -0
  258. package/dist/src/workspace/index.d.ts.map +1 -0
  259. package/dist/src/workspace/index.js +97 -0
  260. package/dist/src/workspace/index.js.map +1 -0
  261. package/package.json +4 -3
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ /**
3
+ * 🐟 AZERCLAW Plugin Registry
4
+ * Integrates plugins with the existing tool registry and manages plugin capabilities
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.PluginRegistry = void 0;
8
+ const events_1 = require("events");
9
+ // ─── Plugin Registry Implementation ─────────────────────────────────────
10
+ class PluginRegistry extends events_1.EventEmitter {
11
+ toolRegistry;
12
+ plugins = new Map();
13
+ pluginTools = new Map(); // pluginId -> tools
14
+ toolPlugins = new Map(); // toolName -> pluginId
15
+ capabilities = new Map(); // capability -> pluginIds
16
+ constructor(toolRegistry) {
17
+ super();
18
+ this.toolRegistry = toolRegistry;
19
+ }
20
+ // ─── Plugin Management ───────────────────────────────────────────────
21
+ registerPlugin(plugin) {
22
+ this.plugins.set(plugin.id, plugin);
23
+ // Register capabilities
24
+ for (const capability of plugin.plugin.metadata.capabilities) {
25
+ if (!this.capabilities.has(capability.type)) {
26
+ this.capabilities.set(capability.type, new Set());
27
+ }
28
+ this.capabilities.get(capability.type).add(plugin.id);
29
+ }
30
+ // Register tools
31
+ if (plugin.plugin.tools) {
32
+ this.pluginTools.set(plugin.id, plugin.plugin.tools);
33
+ for (const tool of plugin.plugin.tools) {
34
+ this.toolRegistry.registerTool(tool);
35
+ this.toolPlugins.set(tool.name, plugin.id);
36
+ }
37
+ }
38
+ this.emit('plugin-registered', plugin);
39
+ }
40
+ unregisterPlugin(pluginId) {
41
+ const plugin = this.plugins.get(pluginId);
42
+ if (!plugin) {
43
+ return;
44
+ }
45
+ // Unregister tools
46
+ const tools = this.pluginTools.get(pluginId);
47
+ if (tools) {
48
+ for (const tool of tools) {
49
+ this.toolRegistry.unregisterTool(tool.name);
50
+ this.toolPlugins.delete(tool.name);
51
+ }
52
+ this.pluginTools.delete(pluginId);
53
+ }
54
+ // Unregister capabilities
55
+ for (const capability of plugin.plugin.metadata.capabilities) {
56
+ const capabilitySet = this.capabilities.get(capability.type);
57
+ if (capabilitySet) {
58
+ capabilitySet.delete(pluginId);
59
+ if (capabilitySet.size === 0) {
60
+ this.capabilities.delete(capability.type);
61
+ }
62
+ }
63
+ }
64
+ this.plugins.delete(pluginId);
65
+ this.emit('plugin-unregistered', { pluginId });
66
+ }
67
+ // ─── Tool Registration ───────────────────────────────────────────────
68
+ registerTool(pluginId, tool) {
69
+ if (!this.plugins.has(pluginId)) {
70
+ throw new Error(`Plugin ${pluginId} is not registered`);
71
+ }
72
+ // Add to plugin tools
73
+ if (!this.pluginTools.has(pluginId)) {
74
+ this.pluginTools.set(pluginId, []);
75
+ }
76
+ this.pluginTools.get(pluginId).push(tool);
77
+ // Register with tool registry
78
+ this.toolRegistry.registerTool(tool);
79
+ this.toolPlugins.set(tool.name, pluginId);
80
+ this.emit('tool-registered', { pluginId, tool });
81
+ }
82
+ unregisterTool(pluginId, toolName) {
83
+ if (!this.plugins.has(pluginId)) {
84
+ throw new Error(`Plugin ${pluginId} is not registered`);
85
+ }
86
+ // Remove from plugin tools
87
+ const tools = this.pluginTools.get(pluginId);
88
+ if (tools) {
89
+ const index = tools.findIndex(t => t.name === toolName);
90
+ if (index !== -1) {
91
+ tools.splice(index, 1);
92
+ }
93
+ }
94
+ // Unregister from tool registry
95
+ this.toolRegistry.unregisterTool(toolName);
96
+ this.toolPlugins.delete(toolName);
97
+ this.emit('tool-unregistered', { pluginId, toolName });
98
+ }
99
+ getToolsByPlugin(pluginId) {
100
+ return this.pluginTools.get(pluginId) || [];
101
+ }
102
+ getPluginByTool(toolName) {
103
+ const pluginId = this.toolPlugins.get(toolName);
104
+ if (pluginId) {
105
+ return this.plugins.get(pluginId) || null;
106
+ }
107
+ return null;
108
+ }
109
+ // ─── Provider Registration ───────────────────────────────────────────
110
+ registerProvider(pluginId, provider) {
111
+ if (!this.plugins.has(pluginId)) {
112
+ throw new Error(`Plugin ${pluginId} is not registered`);
113
+ }
114
+ // This would integrate with the provider system
115
+ // For now, just emit an event
116
+ this.emit('provider-registered', { pluginId, provider });
117
+ }
118
+ unregisterProvider(pluginId, providerName) {
119
+ if (!this.plugins.has(pluginId)) {
120
+ throw new Error(`Plugin ${pluginId} is not registered`);
121
+ }
122
+ this.emit('provider-unregistered', { pluginId, providerName });
123
+ }
124
+ // ─── Workflow Registration ───────────────────────────────────────────
125
+ registerWorkflow(pluginId, workflow) {
126
+ if (!this.plugins.has(pluginId)) {
127
+ throw new Error(`Plugin ${pluginId} is not registered`);
128
+ }
129
+ // This would integrate with the workflow system
130
+ this.emit('workflow-registered', { pluginId, workflow });
131
+ }
132
+ unregisterWorkflow(pluginId, workflowName) {
133
+ if (!this.plugins.has(pluginId)) {
134
+ throw new Error(`Plugin ${pluginId} is not registered`);
135
+ }
136
+ this.emit('workflow-unregistered', { pluginId, workflowName });
137
+ }
138
+ // ─── Capability Queries ──────────────────────────────────────────────
139
+ getPluginsByCapability(capability) {
140
+ const pluginIds = this.capabilities.get(capability);
141
+ if (!pluginIds) {
142
+ return [];
143
+ }
144
+ return Array.from(pluginIds)
145
+ .map(id => this.plugins.get(id))
146
+ .filter((p) => p !== undefined);
147
+ }
148
+ hasCapability(pluginId, capability) {
149
+ const plugin = this.plugins.get(pluginId);
150
+ if (!plugin) {
151
+ return false;
152
+ }
153
+ return plugin.plugin.metadata.capabilities.some(cap => cap.type === capability || cap.name === capability);
154
+ }
155
+ getCapabilitiesByPlugin(pluginId) {
156
+ const plugin = this.plugins.get(pluginId);
157
+ if (!plugin) {
158
+ return [];
159
+ }
160
+ return plugin.plugin.metadata.capabilities;
161
+ }
162
+ // ─── Plugin Information ───────────────────────────────────────────────
163
+ getPlugin(pluginId) {
164
+ return this.plugins.get(pluginId) || null;
165
+ }
166
+ getAllPlugins() {
167
+ return Array.from(this.plugins.values());
168
+ }
169
+ getPluginCount() {
170
+ return this.plugins.size;
171
+ }
172
+ getToolCount() {
173
+ return this.toolPlugins.size;
174
+ }
175
+ // ─── Search and Discovery ────────────────────────────────────────────
176
+ searchPlugins(query) {
177
+ const lowerQuery = query.toLowerCase();
178
+ return Array.from(this.plugins.values()).filter(plugin => {
179
+ const metadata = plugin.plugin.metadata;
180
+ // Search in name, description, keywords
181
+ return metadata.name.toLowerCase().includes(lowerQuery) ||
182
+ metadata.description.toLowerCase().includes(lowerQuery) ||
183
+ metadata.keywords?.some(keyword => keyword.toLowerCase().includes(lowerQuery)) ||
184
+ metadata.author?.toLowerCase().includes(lowerQuery);
185
+ });
186
+ }
187
+ searchTools(query) {
188
+ const lowerQuery = query.toLowerCase();
189
+ const results = [];
190
+ for (const [pluginId, tools] of this.pluginTools.entries()) {
191
+ const plugin = this.plugins.get(pluginId);
192
+ if (!plugin)
193
+ continue;
194
+ for (const tool of tools) {
195
+ if (tool.name.toLowerCase().includes(lowerQuery) ||
196
+ tool.description.toLowerCase().includes(lowerQuery)) {
197
+ results.push({ tool, plugin });
198
+ }
199
+ }
200
+ }
201
+ return results;
202
+ }
203
+ // ─── Statistics and Monitoring ───────────────────────────────────────
204
+ getPluginStats() {
205
+ const stats = {
206
+ total: this.plugins.size,
207
+ active: 0,
208
+ inactive: 0,
209
+ error: 0,
210
+ byCapability: {},
211
+ totalTools: 0
212
+ };
213
+ for (const plugin of this.plugins.values()) {
214
+ // Count by status
215
+ switch (plugin.status) {
216
+ case 'active':
217
+ stats.active++;
218
+ break;
219
+ case 'inactive':
220
+ case 'loaded':
221
+ stats.inactive++;
222
+ break;
223
+ case 'error':
224
+ stats.error++;
225
+ break;
226
+ }
227
+ // Count capabilities
228
+ for (const capability of plugin.plugin.metadata.capabilities) {
229
+ stats.byCapability[capability.type] = (stats.byCapability[capability.type] || 0) + 1;
230
+ }
231
+ // Count tools
232
+ const tools = this.pluginTools.get(plugin.id);
233
+ if (tools) {
234
+ stats.totalTools += tools.length;
235
+ }
236
+ }
237
+ return stats;
238
+ }
239
+ // ─── Dependency Management ───────────────────────────────────────────
240
+ getPluginDependencies(pluginId) {
241
+ const plugin = this.plugins.get(pluginId);
242
+ if (!plugin) {
243
+ return [];
244
+ }
245
+ return [
246
+ ...(plugin.plugin.metadata.depends || []),
247
+ ...(plugin.plugin.metadata.peerDepends || [])
248
+ ];
249
+ }
250
+ getPluginDependents(pluginId) {
251
+ const targetPlugin = this.plugins.get(pluginId);
252
+ if (!targetPlugin) {
253
+ return [];
254
+ }
255
+ const targetName = targetPlugin.plugin.metadata.name;
256
+ const dependents = [];
257
+ for (const plugin of this.plugins.values()) {
258
+ const dependencies = this.getPluginDependencies(plugin.id);
259
+ if (dependencies.includes(targetName)) {
260
+ dependents.push(plugin);
261
+ }
262
+ }
263
+ return dependents;
264
+ }
265
+ canUnloadPlugin(pluginId) {
266
+ const dependents = this.getPluginDependents(pluginId);
267
+ return dependents.length === 0;
268
+ }
269
+ // ─── Cleanup ─────────────────────────────────────────────────────────
270
+ cleanup() {
271
+ // Unregister all plugins
272
+ const pluginIds = Array.from(this.plugins.keys());
273
+ for (const pluginId of pluginIds) {
274
+ this.unregisterPlugin(pluginId);
275
+ }
276
+ // Clear all mappings
277
+ this.plugins.clear();
278
+ this.pluginTools.clear();
279
+ this.toolPlugins.clear();
280
+ this.capabilities.clear();
281
+ this.removeAllListeners();
282
+ }
283
+ }
284
+ exports.PluginRegistry = PluginRegistry;
285
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/plugins/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * 🐟 AZERCLAW Plugin System Types
3
+ * Extends the existing tool system to support OpenClaw-style plugins
4
+ */
5
+ import { Tool, ToolResult } from '../tools/registry';
6
+ export { Tool, ToolResult };
7
+ export interface PluginMetadata {
8
+ name: string;
9
+ version: string;
10
+ description: string;
11
+ author?: string;
12
+ license?: string;
13
+ repository?: string;
14
+ homepage?: string;
15
+ keywords?: string[];
16
+ depends?: string[];
17
+ peerDepends?: string[];
18
+ optionalDepends?: string[];
19
+ capabilities: PluginCapability[];
20
+ requires: PluginRequirement[];
21
+ azerclawVersion: string;
22
+ nodeVersion?: string;
23
+ platforms?: string[];
24
+ permissions: PluginPermission[];
25
+ sandbox?: PluginSandboxConfig;
26
+ }
27
+ export interface PluginCapability {
28
+ type: 'tool' | 'provider' | 'memory' | 'workflow' | 'channel' | 'ui' | 'system';
29
+ name: string;
30
+ description: string;
31
+ api?: string;
32
+ }
33
+ export interface PluginRequirement {
34
+ type: 'api' | 'tool' | 'service' | 'hardware' | 'os';
35
+ name: string;
36
+ version?: string;
37
+ optional?: boolean;
38
+ }
39
+ export interface PluginPermission {
40
+ type: 'filesystem' | 'network' | 'system' | 'process' | 'memory' | 'config';
41
+ scope: string;
42
+ description: string;
43
+ }
44
+ export interface PluginSandboxConfig {
45
+ enabled: boolean;
46
+ allowedTools?: string[];
47
+ deniedTools?: string[];
48
+ filesystem?: {
49
+ read?: string[];
50
+ write?: string[];
51
+ exec?: string[];
52
+ };
53
+ network?: {
54
+ domains?: string[];
55
+ ports?: number[];
56
+ };
57
+ }
58
+ export interface Plugin {
59
+ readonly metadata: PluginMetadata;
60
+ readonly tools: Tool[];
61
+ readonly providers?: any[];
62
+ readonly workflows?: any[];
63
+ initialize?(context: PluginContext): Promise<void>;
64
+ activate?(context: PluginContext): Promise<void>;
65
+ deactivate?(context: PluginContext): Promise<void>;
66
+ cleanup?(context: PluginContext): Promise<void>;
67
+ configure?(config: Record<string, unknown>): Promise<void>;
68
+ getConfig?(): Record<string, unknown>;
69
+ healthCheck?(): Promise<PluginHealth>;
70
+ }
71
+ export interface PluginContext {
72
+ pluginId: string;
73
+ workspaceDir?: string;
74
+ azerclawHome: string;
75
+ configDir: string;
76
+ dataDir: string;
77
+ tempDir: string;
78
+ logger: PluginLogger;
79
+ events: PluginEventEmitter;
80
+ storage: PluginStorage;
81
+ toolRegistry: any;
82
+ configManager: any;
83
+ memoryStore: any;
84
+ }
85
+ export interface PluginLogger {
86
+ debug(message: string, ...args: any[]): void;
87
+ info(message: string, ...args: any[]): void;
88
+ warn(message: string, ...args: any[]): void;
89
+ error(message: string, ...args: any[]): void;
90
+ }
91
+ export interface PluginEventEmitter {
92
+ on(event: string, listener: (...args: any[]) => void): void;
93
+ off(event: string, listener: (...args: any[]) => void): void;
94
+ emit(event: string, ...args: any[]): void;
95
+ }
96
+ export interface PluginStorage {
97
+ get(key: string): Promise<any>;
98
+ set(key: string, value: any): Promise<void>;
99
+ delete(key: string): Promise<void>;
100
+ clear(): Promise<void>;
101
+ list(): Promise<string[]>;
102
+ }
103
+ export interface PluginHealth {
104
+ status: 'healthy' | 'degraded' | 'unhealthy';
105
+ message?: string;
106
+ details?: Record<string, any>;
107
+ lastCheck: Date;
108
+ }
109
+ export interface PluginManager {
110
+ loadPlugin(pluginPath: string): Promise<LoadedPlugin>;
111
+ unloadPlugin(pluginId: string): Promise<void>;
112
+ activatePlugin(pluginId: string): Promise<void>;
113
+ deactivatePlugin(pluginId: string): Promise<void>;
114
+ discoverPlugins(): Promise<string[]>;
115
+ reloadPlugins(): Promise<void>;
116
+ listPlugins(): Promise<LoadedPlugin[]>;
117
+ getPlugin(pluginId: string): Promise<LoadedPlugin | null>;
118
+ getPluginHealth(pluginId: string): Promise<PluginHealth | null>;
119
+ installPlugin(source: string): Promise<string>;
120
+ uninstallPlugin(pluginId: string): Promise<void>;
121
+ updatePlugin(pluginId: string): Promise<void>;
122
+ }
123
+ export interface LoadedPlugin {
124
+ id: string;
125
+ plugin: Plugin;
126
+ path: string;
127
+ status: 'loaded' | 'active' | 'inactive' | 'error';
128
+ loadedAt: Date;
129
+ activatedAt?: Date;
130
+ error?: Error;
131
+ health?: PluginHealth;
132
+ }
133
+ export interface PluginRegistry {
134
+ registerTool(pluginId: string, tool: Tool): void;
135
+ unregisterTool(pluginId: string, toolName: string): void;
136
+ getToolsByPlugin(pluginId: string): Tool[];
137
+ registerProvider(pluginId: string, provider: any): void;
138
+ unregisterProvider(pluginId: string, providerName: string): void;
139
+ registerWorkflow(pluginId: string, workflow: any): void;
140
+ unregisterWorkflow(pluginId: string, workflowName: string): void;
141
+ getPluginsByCapability(capability: string): LoadedPlugin[];
142
+ hasCapability(pluginId: string, capability: string): boolean;
143
+ }
144
+ export interface PluginConfig {
145
+ enabled: boolean;
146
+ autoStart: boolean;
147
+ config: Record<string, unknown>;
148
+ permissions: PluginPermission[];
149
+ sandbox?: PluginSandboxConfig;
150
+ }
151
+ export interface PluginGlobalConfig {
152
+ pluginDir: string;
153
+ autoLoad: boolean;
154
+ sandboxDefault: boolean;
155
+ permissions: {
156
+ default: PluginPermission[];
157
+ restricted: PluginPermission[];
158
+ };
159
+ security: {
160
+ verifySignature: boolean;
161
+ allowUnsigned: boolean;
162
+ trustedSources: string[];
163
+ };
164
+ }
165
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * 🐟 AZERCLAW Plugin System Types
4
+ * Extends the existing tool system to support OpenClaw-style plugins
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/types.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -23,6 +23,7 @@ export interface ToolDefinition {
23
23
  name: string;
24
24
  description: string;
25
25
  parameters: Record<string, unknown>;
26
+ author?: string;
26
27
  };
27
28
  }
28
29
  export interface CompletionOptions {
@@ -66,7 +67,11 @@ export interface ModelInfo {
66
67
  supportsStreaming: boolean;
67
68
  description?: string;
68
69
  status?: 'online' | 'offline' | 'unknown';
70
+ strengths?: TaskType[];
71
+ latencyTier?: 'fast' | 'normal' | 'slow';
72
+ costTier?: 'free' | 'rate_limited' | 'paid';
69
73
  }
74
+ export type TaskType = 'code' | 'reasoning' | 'creative' | 'search' | 'chat' | 'planning' | 'synthesis';
70
75
  export declare abstract class BaseProvider {
71
76
  abstract readonly name: string;
72
77
  abstract readonly displayName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/providers/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/providers/base.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/providers/base.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4EH,mEAAmE;AAEnE,MAAsB,YAAY;CA4BjC;AA5BD,oCA4BC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/providers/base.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAkFH,mEAAmE;AAEnE,MAAsB,YAAY;CA4BjC;AA5BD,oCA4BC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 🐟 AZERCLAW HuggingFace Provider
3
+ * Inference API provider for HuggingFace free tier endpoints.
4
+ */
5
+ import { BaseProvider, CompletionOptions, CompletionResult, StreamChunk, ModelInfo } from './base';
6
+ export declare class HuggingFaceProvider extends BaseProvider {
7
+ readonly name = "huggingface";
8
+ readonly displayName = "HuggingFace";
9
+ private apiKey;
10
+ private baseUrl;
11
+ private defaultModel;
12
+ constructor(config: {
13
+ apiKey: string;
14
+ baseUrl?: string;
15
+ defaultModel?: string;
16
+ });
17
+ isAvailable(): Promise<boolean>;
18
+ complete(options: CompletionOptions): Promise<CompletionResult>;
19
+ stream(options: CompletionOptions): AsyncGenerator<StreamChunk>;
20
+ listModels(): Promise<ModelInfo[]>;
21
+ validateConnection(): Promise<{
22
+ valid: boolean;
23
+ error?: string;
24
+ }>;
25
+ private formatPrompt;
26
+ }
27
+ //# sourceMappingURL=huggingface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huggingface.d.ts","sourceRoot":"","sources":["../../../src/providers/huggingface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACV,MAAM,QAAQ,CAAC;AAEhB,qBAAa,mBAAoB,SAAQ,YAAY;IACnD,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,iBAAiB;IAErC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAOzE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6D9D,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,cAAc,CAAC,WAAW,CAAC;IAYhE,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAWlC,kBAAkB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiBvE,OAAO,CAAC,YAAY;CAarB"}