azerclaw 1.0.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 (161) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +222 -0
  3. package/bin/azerclaw.ts +290 -0
  4. package/dist/bin/azerclaw.d.ts +19 -0
  5. package/dist/bin/azerclaw.d.ts.map +1 -0
  6. package/dist/bin/azerclaw.js +247 -0
  7. package/dist/bin/azerclaw.js.map +1 -0
  8. package/dist/skills/code-review/SKILL.md +46 -0
  9. package/dist/skills/daily-briefing/SKILL.md +35 -0
  10. package/dist/skills/git-assistant/SKILL.md +31 -0
  11. package/dist/src/agents/builtin.d.ts +52 -0
  12. package/dist/src/agents/builtin.d.ts.map +1 -0
  13. package/dist/src/agents/builtin.js +497 -0
  14. package/dist/src/agents/builtin.js.map +1 -0
  15. package/dist/src/agents/loader.d.ts +23 -0
  16. package/dist/src/agents/loader.d.ts.map +1 -0
  17. package/dist/src/agents/loader.js +154 -0
  18. package/dist/src/agents/loader.js.map +1 -0
  19. package/dist/src/channels/adapter.d.ts +57 -0
  20. package/dist/src/channels/adapter.d.ts.map +1 -0
  21. package/dist/src/channels/adapter.js +45 -0
  22. package/dist/src/channels/adapter.js.map +1 -0
  23. package/dist/src/channels/discord.d.ts +23 -0
  24. package/dist/src/channels/discord.d.ts.map +1 -0
  25. package/dist/src/channels/discord.js +129 -0
  26. package/dist/src/channels/discord.js.map +1 -0
  27. package/dist/src/channels/slack.d.ts +19 -0
  28. package/dist/src/channels/slack.d.ts.map +1 -0
  29. package/dist/src/channels/slack.js +97 -0
  30. package/dist/src/channels/slack.js.map +1 -0
  31. package/dist/src/channels/telegram.d.ts +20 -0
  32. package/dist/src/channels/telegram.d.ts.map +1 -0
  33. package/dist/src/channels/telegram.js +87 -0
  34. package/dist/src/channels/telegram.js.map +1 -0
  35. package/dist/src/channels/webhook.d.ts +19 -0
  36. package/dist/src/channels/webhook.d.ts.map +1 -0
  37. package/dist/src/channels/webhook.js +124 -0
  38. package/dist/src/channels/webhook.js.map +1 -0
  39. package/dist/src/cli/animations/fish.d.ts +33 -0
  40. package/dist/src/cli/animations/fish.d.ts.map +1 -0
  41. package/dist/src/cli/animations/fish.js +297 -0
  42. package/dist/src/cli/animations/fish.js.map +1 -0
  43. package/dist/src/cli/commands/agents.d.ts +8 -0
  44. package/dist/src/cli/commands/agents.d.ts.map +1 -0
  45. package/dist/src/cli/commands/agents.js +104 -0
  46. package/dist/src/cli/commands/agents.js.map +1 -0
  47. package/dist/src/cli/commands/chat.d.ts +9 -0
  48. package/dist/src/cli/commands/chat.d.ts.map +1 -0
  49. package/dist/src/cli/commands/chat.js +236 -0
  50. package/dist/src/cli/commands/chat.js.map +1 -0
  51. package/dist/src/cli/commands/config.d.ts +9 -0
  52. package/dist/src/cli/commands/config.d.ts.map +1 -0
  53. package/dist/src/cli/commands/config.js +97 -0
  54. package/dist/src/cli/commands/config.js.map +1 -0
  55. package/dist/src/cli/commands/doctor.d.ts +8 -0
  56. package/dist/src/cli/commands/doctor.d.ts.map +1 -0
  57. package/dist/src/cli/commands/doctor.js +159 -0
  58. package/dist/src/cli/commands/doctor.js.map +1 -0
  59. package/dist/src/cli/commands/models.d.ts +7 -0
  60. package/dist/src/cli/commands/models.d.ts.map +1 -0
  61. package/dist/src/cli/commands/models.js +64 -0
  62. package/dist/src/cli/commands/models.js.map +1 -0
  63. package/dist/src/cli/commands/onboard.d.ts +6 -0
  64. package/dist/src/cli/commands/onboard.d.ts.map +1 -0
  65. package/dist/src/cli/commands/onboard.js +150 -0
  66. package/dist/src/cli/commands/onboard.js.map +1 -0
  67. package/dist/src/cli/commands/run.d.ts +9 -0
  68. package/dist/src/cli/commands/run.d.ts.map +1 -0
  69. package/dist/src/cli/commands/run.js +84 -0
  70. package/dist/src/cli/commands/run.js.map +1 -0
  71. package/dist/src/cli/commands/tui.d.ts +6 -0
  72. package/dist/src/cli/commands/tui.d.ts.map +1 -0
  73. package/dist/src/cli/commands/tui.js +252 -0
  74. package/dist/src/cli/commands/tui.js.map +1 -0
  75. package/dist/src/config/manager.d.ts +80 -0
  76. package/dist/src/config/manager.d.ts.map +1 -0
  77. package/dist/src/config/manager.js +232 -0
  78. package/dist/src/config/manager.js.map +1 -0
  79. package/dist/src/config/schema.d.ts +910 -0
  80. package/dist/src/config/schema.d.ts.map +1 -0
  81. package/dist/src/config/schema.js +138 -0
  82. package/dist/src/config/schema.js.map +1 -0
  83. package/dist/src/core/gateway.d.ts +35 -0
  84. package/dist/src/core/gateway.d.ts.map +1 -0
  85. package/dist/src/core/gateway.js +205 -0
  86. package/dist/src/core/gateway.js.map +1 -0
  87. package/dist/src/core/runtime.d.ts +69 -0
  88. package/dist/src/core/runtime.d.ts.map +1 -0
  89. package/dist/src/core/runtime.js +188 -0
  90. package/dist/src/core/runtime.js.map +1 -0
  91. package/dist/src/core/security.d.ts +55 -0
  92. package/dist/src/core/security.d.ts.map +1 -0
  93. package/dist/src/core/security.js +241 -0
  94. package/dist/src/core/security.js.map +1 -0
  95. package/dist/src/index.d.ts +24 -0
  96. package/dist/src/index.d.ts.map +1 -0
  97. package/dist/src/index.js +46 -0
  98. package/dist/src/index.js.map +1 -0
  99. package/dist/src/memory/store.d.ts +65 -0
  100. package/dist/src/memory/store.d.ts.map +1 -0
  101. package/dist/src/memory/store.js +250 -0
  102. package/dist/src/memory/store.js.map +1 -0
  103. package/dist/src/providers/anthropic.d.ts +25 -0
  104. package/dist/src/providers/anthropic.d.ts.map +1 -0
  105. package/dist/src/providers/anthropic.js +163 -0
  106. package/dist/src/providers/anthropic.js.map +1 -0
  107. package/dist/src/providers/base.d.ts +90 -0
  108. package/dist/src/providers/base.d.ts.map +1 -0
  109. package/dist/src/providers/base.js +12 -0
  110. package/dist/src/providers/base.js.map +1 -0
  111. package/dist/src/providers/google.d.ts +23 -0
  112. package/dist/src/providers/google.d.ts.map +1 -0
  113. package/dist/src/providers/google.js +118 -0
  114. package/dist/src/providers/google.js.map +1 -0
  115. package/dist/src/providers/ollama.d.ts +24 -0
  116. package/dist/src/providers/ollama.d.ts.map +1 -0
  117. package/dist/src/providers/ollama.js +81 -0
  118. package/dist/src/providers/ollama.js.map +1 -0
  119. package/dist/src/providers/openai.d.ts +30 -0
  120. package/dist/src/providers/openai.d.ts.map +1 -0
  121. package/dist/src/providers/openai.js +187 -0
  122. package/dist/src/providers/openai.js.map +1 -0
  123. package/dist/src/providers/router.d.ts +20 -0
  124. package/dist/src/providers/router.d.ts.map +1 -0
  125. package/dist/src/providers/router.js +156 -0
  126. package/dist/src/providers/router.js.map +1 -0
  127. package/dist/src/scheduler/heartbeat.d.ts +62 -0
  128. package/dist/src/scheduler/heartbeat.d.ts.map +1 -0
  129. package/dist/src/scheduler/heartbeat.js +267 -0
  130. package/dist/src/scheduler/heartbeat.js.map +1 -0
  131. package/dist/src/skills/loader.d.ts +25 -0
  132. package/dist/src/skills/loader.d.ts.map +1 -0
  133. package/dist/src/skills/loader.js +165 -0
  134. package/dist/src/skills/loader.js.map +1 -0
  135. package/dist/src/tools/advanced.d.ts +15 -0
  136. package/dist/src/tools/advanced.d.ts.map +1 -0
  137. package/dist/src/tools/advanced.js +102 -0
  138. package/dist/src/tools/advanced.js.map +1 -0
  139. package/dist/src/tools/filesystem.d.ts +10 -0
  140. package/dist/src/tools/filesystem.d.ts.map +1 -0
  141. package/dist/src/tools/filesystem.js +160 -0
  142. package/dist/src/tools/filesystem.js.map +1 -0
  143. package/dist/src/tools/registry.d.ts +26 -0
  144. package/dist/src/tools/registry.d.ts.map +1 -0
  145. package/dist/src/tools/registry.js +49 -0
  146. package/dist/src/tools/registry.js.map +1 -0
  147. package/dist/src/tools/shell.d.ts +7 -0
  148. package/dist/src/tools/shell.d.ts.map +1 -0
  149. package/dist/src/tools/shell.js +46 -0
  150. package/dist/src/tools/shell.js.map +1 -0
  151. package/dist/src/workflow/engine.d.ts +65 -0
  152. package/dist/src/workflow/engine.d.ts.map +1 -0
  153. package/dist/src/workflow/engine.js +297 -0
  154. package/dist/src/workflow/engine.js.map +1 -0
  155. package/package.json +113 -0
  156. package/skills/code-review/SKILL.md +46 -0
  157. package/skills/daily-briefing/SKILL.md +35 -0
  158. package/skills/git-assistant/SKILL.md +31 -0
  159. package/templates/HEARTBEAT.md +27 -0
  160. package/templates/IDENTITY.md +23 -0
  161. package/templates/deploy-pipeline.fishbone +39 -0
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ /**
3
+ * 🐟 AZERCLAW Telegram Channel Adapter
4
+ * Connects to Telegram via the Bot API (long polling).
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TelegramAdapter = void 0;
8
+ const adapter_1 = require("./adapter");
9
+ const security_1 = require("../core/security");
10
+ class TelegramAdapter extends adapter_1.ChannelAdapter {
11
+ platform = 'telegram';
12
+ displayName = 'Telegram';
13
+ token = '';
14
+ polling = false;
15
+ offset = 0;
16
+ pollTimer = null;
17
+ get baseUrl() {
18
+ return `https://api.telegram.org/bot${this.token}`;
19
+ }
20
+ async connect(config) {
21
+ this.token = config.token;
22
+ if (!this.token)
23
+ throw new Error('Telegram bot token required');
24
+ // Verify token
25
+ const res = await fetch(`${this.baseUrl}/getMe`);
26
+ const data = await res.json();
27
+ if (!data.ok)
28
+ throw new Error(`Telegram auth failed: ${data.description}`);
29
+ (0, security_1.auditLog)('TELEGRAM_CONNECTED', `Bot: @${data.result.username}`);
30
+ this.polling = true;
31
+ this.pollUpdates();
32
+ }
33
+ async disconnect() {
34
+ this.polling = false;
35
+ if (this.pollTimer)
36
+ clearTimeout(this.pollTimer);
37
+ }
38
+ async send(options) {
39
+ await fetch(`${this.baseUrl}/sendMessage`, {
40
+ method: 'POST',
41
+ headers: { 'Content-Type': 'application/json' },
42
+ body: JSON.stringify({
43
+ chat_id: options.channelId,
44
+ text: options.content,
45
+ reply_to_message_id: options.replyTo ? parseInt(options.replyTo) : undefined,
46
+ parse_mode: 'Markdown',
47
+ }),
48
+ });
49
+ }
50
+ isConnected() {
51
+ return this.polling;
52
+ }
53
+ async pollUpdates() {
54
+ if (!this.polling)
55
+ return;
56
+ try {
57
+ const res = await fetch(`${this.baseUrl}/getUpdates?offset=${this.offset}&timeout=30`);
58
+ const data = await res.json();
59
+ if (data.ok && data.result) {
60
+ for (const update of data.result) {
61
+ this.offset = update.update_id + 1;
62
+ if (update.message?.text) {
63
+ const msg = update.message;
64
+ const normalized = {
65
+ id: String(msg.message_id),
66
+ platform: 'telegram',
67
+ channelId: String(msg.chat.id),
68
+ senderId: String(msg.from?.id || ''),
69
+ senderName: msg.from?.first_name || 'Unknown',
70
+ content: msg.text,
71
+ attachments: [],
72
+ timestamp: new Date(msg.date * 1000),
73
+ metadata: { chatType: msg.chat.type },
74
+ };
75
+ this.handleIncoming(normalized);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ catch (e) {
81
+ (0, security_1.auditLog)('TELEGRAM_ERROR', e.message);
82
+ }
83
+ this.pollTimer = setTimeout(() => this.pollUpdates(), 1000);
84
+ }
85
+ }
86
+ exports.TelegramAdapter = TelegramAdapter;
87
+ //# sourceMappingURL=telegram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../../src/channels/telegram.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 🐟 AZERCLAW Generic Webhook Channel
3
+ * Receives messages via HTTP POST and sends responses back.
4
+ * Works with any platform that supports webhooks.
5
+ */
6
+ import { ChannelAdapter, SendOptions } from './adapter';
7
+ export declare class WebhookAdapter extends ChannelAdapter {
8
+ readonly platform = "webhook";
9
+ readonly displayName = "Webhook";
10
+ private server;
11
+ private responseUrl;
12
+ private port;
13
+ private connected;
14
+ connect(config: Record<string, string>): Promise<void>;
15
+ disconnect(): Promise<void>;
16
+ send(options: SendOptions): Promise<void>;
17
+ isConnected(): boolean;
18
+ }
19
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../src/channels/webhook.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAqB,WAAW,EAAE,MAAM,WAAW,CAAC;AAG3E,qBAAa,cAAe,SAAQ,cAAc;IAChD,QAAQ,CAAC,QAAQ,aAAa;IAC9B,QAAQ,CAAC,WAAW,aAAa;IACjC,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,IAAI,CAAQ;IACpB,OAAO,CAAC,SAAS,CAAS;IAEpB,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CtD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/C,WAAW,IAAI,OAAO;CAGvB"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ /**
3
+ * 🐟 AZERCLAW Generic Webhook Channel
4
+ * Receives messages via HTTP POST and sends responses back.
5
+ * Works with any platform that supports webhooks.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.WebhookAdapter = void 0;
42
+ const http = __importStar(require("http"));
43
+ const adapter_1 = require("./adapter");
44
+ const security_1 = require("../core/security");
45
+ class WebhookAdapter extends adapter_1.ChannelAdapter {
46
+ platform = 'webhook';
47
+ displayName = 'Webhook';
48
+ server = null;
49
+ responseUrl = '';
50
+ port = 3141;
51
+ connected = false;
52
+ async connect(config) {
53
+ this.port = parseInt(config.port || '3141');
54
+ this.responseUrl = config.responseUrl || '';
55
+ this.server = http.createServer(async (req, res) => {
56
+ if (req.method !== 'POST') {
57
+ res.writeHead(405);
58
+ res.end('Method not allowed');
59
+ return;
60
+ }
61
+ let body = '';
62
+ req.on('data', chunk => { body += chunk; });
63
+ req.on('end', async () => {
64
+ try {
65
+ const data = JSON.parse(body);
66
+ const message = {
67
+ id: data.id || `wh_${Date.now()}`,
68
+ platform: 'webhook',
69
+ channelId: data.channelId || 'default',
70
+ senderId: data.senderId || 'webhook',
71
+ senderName: data.senderName || 'Webhook',
72
+ content: data.content || data.message || data.text || '',
73
+ attachments: [],
74
+ timestamp: new Date(),
75
+ metadata: data.metadata || {},
76
+ };
77
+ await this.handleIncoming(message);
78
+ res.writeHead(200, { 'Content-Type': 'application/json' });
79
+ res.end(JSON.stringify({ ok: true }));
80
+ }
81
+ catch (e) {
82
+ res.writeHead(400);
83
+ res.end(JSON.stringify({ error: e.message }));
84
+ }
85
+ });
86
+ });
87
+ // Bind to localhost only for security
88
+ this.server.listen(this.port, '127.0.0.1', () => {
89
+ this.connected = true;
90
+ (0, security_1.auditLog)('WEBHOOK_STARTED', `Listening on 127.0.0.1:${this.port}`);
91
+ });
92
+ }
93
+ async disconnect() {
94
+ return new Promise((resolve) => {
95
+ if (this.server) {
96
+ this.server.close(() => {
97
+ this.connected = false;
98
+ resolve();
99
+ });
100
+ }
101
+ else {
102
+ resolve();
103
+ }
104
+ });
105
+ }
106
+ async send(options) {
107
+ if (this.responseUrl) {
108
+ await fetch(this.responseUrl, {
109
+ method: 'POST',
110
+ headers: { 'Content-Type': 'application/json' },
111
+ body: JSON.stringify({
112
+ channelId: options.channelId,
113
+ content: options.content,
114
+ replyTo: options.replyTo,
115
+ }),
116
+ });
117
+ }
118
+ }
119
+ isConnected() {
120
+ return this.connected;
121
+ }
122
+ }
123
+ exports.WebhookAdapter = WebhookAdapter;
124
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/channels/webhook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * 🐟 AZERCLAW Fish Animations
3
+ * Replaces OpenClaw's lobster with an animated fish mascot.
4
+ * Includes: splash screen, thinking animation, progress, success/error states.
5
+ */
6
+ export declare const FISH_FRAMES: string[];
7
+ export declare const FISH_SWIM_FRAMES: string[];
8
+ export declare const FISH_DEAD = " ><(((x>";
9
+ export declare const FISH_HAPPY = " ><(((\u00B0> \u2728";
10
+ export declare const BIG_FISH: string[];
11
+ export declare function playSplashScreen(version: string): Promise<void>;
12
+ export declare function printQuickSplash(version: string): void;
13
+ export declare class FishThinkingAnimation {
14
+ private interval;
15
+ private frameIndex;
16
+ private message;
17
+ private bubbleFrames;
18
+ private bubbleIndex;
19
+ constructor(message?: string);
20
+ start(): void;
21
+ updateMessage(message: string): void;
22
+ stop(finalMessage?: string): void;
23
+ fail(errorMessage?: string): void;
24
+ }
25
+ export declare function renderFishProgress(current: number, total: number, label?: string): void;
26
+ export declare function fishSuccess(message: string): void;
27
+ export declare function fishError(message: string): void;
28
+ export declare function fishInfo(message: string): void;
29
+ export declare function fishWarn(message: string): void;
30
+ export declare function fishBox(title: string, content: string[], options?: {
31
+ width?: number;
32
+ }): void;
33
+ //# sourceMappingURL=fish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fish.d.ts","sourceRoot":"","sources":["../../../../src/cli/animations/fish.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,eAAO,MAAM,WAAW,UAOvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAK5B,CAAC;AAEF,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,UAAU,2BAAiB,CAAC;AAEzC,eAAO,MAAM,QAAQ,UASpB,CAAC;AAqDF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiErE;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAQtD;AAID,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,WAAW,CAAK;gBAEZ,OAAO,GAAE,MAAmB;IAIxC,KAAK,IAAI,IAAI;IAsBb,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IAejC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;CAclC;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,IAAI,CAsB3F;AAID,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEjD;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAID,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAqChG"}
@@ -0,0 +1,297 @@
1
+ "use strict";
2
+ /**
3
+ * 🐟 AZERCLAW Fish Animations
4
+ * Replaces OpenClaw's lobster with an animated fish mascot.
5
+ * Includes: splash screen, thinking animation, progress, success/error states.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.FishThinkingAnimation = exports.BIG_FISH = exports.FISH_HAPPY = exports.FISH_DEAD = exports.FISH_SWIM_FRAMES = exports.FISH_FRAMES = void 0;
9
+ exports.playSplashScreen = playSplashScreen;
10
+ exports.printQuickSplash = printQuickSplash;
11
+ exports.renderFishProgress = renderFishProgress;
12
+ exports.fishSuccess = fishSuccess;
13
+ exports.fishError = fishError;
14
+ exports.fishInfo = fishInfo;
15
+ exports.fishWarn = fishWarn;
16
+ exports.fishBox = fishBox;
17
+ const chalk = require('chalk');
18
+ const gradientString = require('gradient-string');
19
+ // ─── Color Palette ──────────────────────────────────────────────
20
+ const OCEAN_GRADIENT = gradientString(['#0ea5e9', '#06b6d4', '#14b8a6', '#10b981']);
21
+ const GOLD_GRADIENT = gradientString(['#f59e0b', '#f97316', '#ef4444']);
22
+ const NEON_GRADIENT = gradientString(['#a855f7', '#6366f1', '#3b82f6', '#06b6d4']);
23
+ const LUXE_GRADIENT = gradientString(['#c084fc', '#818cf8', '#60a5fa', '#34d399']);
24
+ const EMBER_GRADIENT = gradientString(['#fbbf24', '#f59e0b', '#ef4444', '#dc2626']);
25
+ // ─── Fish ASCII Art ─────────────────────────────────────────────
26
+ exports.FISH_FRAMES = [
27
+ ` ><(((º>`,
28
+ ` ><(((º>`,
29
+ ` ><(((º>`,
30
+ ` ><(((º>`,
31
+ ` ><(((º>`,
32
+ ` ><(((º>`,
33
+ ];
34
+ exports.FISH_SWIM_FRAMES = [
35
+ ` ~~ ><(((º> ~~`,
36
+ ` ~~ ><(((º> ~~`,
37
+ `~~ ><(((º>~~`,
38
+ ` ~~ ><(((º> ~~`,
39
+ ];
40
+ exports.FISH_DEAD = ` ><(((x>`;
41
+ exports.FISH_HAPPY = ` ><(((°> ✨`;
42
+ exports.BIG_FISH = [
43
+ ` ╭────────────╮`,
44
+ ` ╱╲ ╱ ╲`,
45
+ ` ╱ ╲──╱ ● ╲`,
46
+ ` ╱ ╲╱ ╲───╮`,
47
+ ` ╲ ╱╲ ╱───╯`,
48
+ ` ╲ ╱──╲ ╱`,
49
+ ` ╲╱ ╲ ╱`,
50
+ ` ╰────────────╯`,
51
+ ];
52
+ // ─── Premium Splash Screen (Copilot-style) ─────────────────────
53
+ const SPLASH_LOGO = [
54
+ ` `,
55
+ ` █████╗ ███████╗███████╗██████╗ ██████╗██╗ █████╗ ██╗ ██╗ `,
56
+ ` ██╔══██╗╚══███╔╝██╔════╝██╔══██╗██╔════╝██║ ██╔══██╗██║ ██║ `,
57
+ ` ███████║ ███╔╝ █████╗ ██████╔╝██║ ██║ ███████║██║ █╗ ██║ `,
58
+ ` ██╔══██║ ███╔╝ ██╔══╝ ██╔══██╗██║ ██║ ██╔══██║██║███╗██║ `,
59
+ ` ██║ ██║███████╗███████╗██║ ██║╚██████╗███████╗██║ ██║╚███╔███╔╝ `,
60
+ ` ╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═╝ ╚═════╝╚══════╝╚═╝ ╚═╝ ╚══╝╚══╝ `,
61
+ ` `,
62
+ ];
63
+ const SPLASH_FISH_ART = [
64
+ ` · . · `,
65
+ ` · . 🫧 . · `,
66
+ ` · . · . · . · `,
67
+ ` `,
68
+ ` ╱╲ `,
69
+ ` ╱ ╲──╮ ● `,
70
+ ` ╱ ╲ ╲─────────────╮ `,
71
+ ` ╲ ╱ ╱─────────────╯ `,
72
+ ` ╲ ╱──╯ `,
73
+ ` ╲╱ `,
74
+ ` `,
75
+ ` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `,
76
+ ];
77
+ const TAGLINE = `Your AI · Your Keys · Your Way`;
78
+ const SUBTITLE = `Free & Open Source AI Agent — BYOK`;
79
+ // ─── Animated Splash ────────────────────────────────────────────
80
+ function sleep(ms) {
81
+ return new Promise(resolve => setTimeout(resolve, ms));
82
+ }
83
+ function clearLines(count) {
84
+ for (let i = 0; i < count; i++) {
85
+ process.stdout.write('\x1b[1A\x1b[2K');
86
+ }
87
+ }
88
+ function hideCursor() {
89
+ process.stdout.write('\x1b[?25l');
90
+ }
91
+ function showCursor() {
92
+ process.stdout.write('\x1b[?25h');
93
+ }
94
+ async function playSplashScreen(version) {
95
+ hideCursor();
96
+ const termWidth = process.stdout.columns || 80;
97
+ // Phase 1: Fade in logo letter by letter
98
+ console.log('');
99
+ for (let row = 0; row < SPLASH_LOGO.length; row++) {
100
+ const line = SPLASH_LOGO[row];
101
+ const pad = Math.max(0, Math.floor((termWidth - line.length) / 2));
102
+ const paddedLine = ' '.repeat(pad) + line;
103
+ process.stdout.write(NEON_GRADIENT(paddedLine) + '\n');
104
+ await sleep(40);
105
+ }
106
+ // Phase 2: Draw fish art
107
+ await sleep(150);
108
+ for (let row = 0; row < SPLASH_FISH_ART.length; row++) {
109
+ const line = SPLASH_FISH_ART[row];
110
+ const pad = Math.max(0, Math.floor((termWidth - line.length) / 2));
111
+ const paddedLine = ' '.repeat(pad) + line;
112
+ process.stdout.write(OCEAN_GRADIENT(paddedLine) + '\n');
113
+ await sleep(30);
114
+ }
115
+ // Phase 3: Tagline with typing effect
116
+ await sleep(200);
117
+ const tagPad = Math.max(0, Math.floor((termWidth - TAGLINE.length) / 2));
118
+ process.stdout.write(' '.repeat(tagPad));
119
+ for (const char of TAGLINE) {
120
+ process.stdout.write(LUXE_GRADIENT(char));
121
+ await sleep(20);
122
+ }
123
+ process.stdout.write('\n');
124
+ // Phase 4: Subtitle
125
+ await sleep(100);
126
+ const subPad = Math.max(0, Math.floor((termWidth - SUBTITLE.length) / 2));
127
+ const styledSub = chalk.dim(SUBTITLE);
128
+ console.log(' '.repeat(subPad) + styledSub);
129
+ // Phase 5: Version badge
130
+ await sleep(100);
131
+ const versionStr = `v${version}`;
132
+ const vPad = Math.max(0, Math.floor((termWidth - versionStr.length - 4) / 2));
133
+ console.log(' '.repeat(vPad) + chalk.bgHex('#1e1b4b').hex('#818cf8')(` ${versionStr} `) + '\n');
134
+ // Phase 6: Separator line animation
135
+ const sepChar = '─';
136
+ const sepLen = Math.min(60, termWidth - 10);
137
+ const sepPad = Math.max(0, Math.floor((termWidth - sepLen) / 2));
138
+ process.stdout.write(' '.repeat(sepPad));
139
+ for (let i = 0; i < sepLen; i++) {
140
+ const progress = i / sepLen;
141
+ const hue = Math.floor(200 + progress * 160) % 360;
142
+ process.stdout.write(chalk.hsl(hue, 80, 60)(sepChar));
143
+ if (i % 4 === 0)
144
+ await sleep(5);
145
+ }
146
+ process.stdout.write('\n\n');
147
+ showCursor();
148
+ }
149
+ // ─── Quick Splash (for subsequent runs) ─────────────────────────
150
+ function printQuickSplash(version) {
151
+ const termWidth = process.stdout.columns || 80;
152
+ const fishLine = ` ><(((º> AZERCLAW v${version}`;
153
+ const pad = Math.max(0, Math.floor((termWidth - fishLine.length) / 2));
154
+ console.log('');
155
+ console.log(' '.repeat(pad) + OCEAN_GRADIENT(fishLine));
156
+ console.log(' '.repeat(pad) + chalk.dim(` Your AI · Your Keys · Your Way`));
157
+ console.log('');
158
+ }
159
+ // ─── Thinking Animation ─────────────────────────────────────────
160
+ class FishThinkingAnimation {
161
+ interval = null;
162
+ frameIndex = 0;
163
+ message;
164
+ bubbleFrames = ['○', '◦', '·', '◦'];
165
+ bubbleIndex = 0;
166
+ constructor(message = 'Thinking') {
167
+ this.message = message;
168
+ }
169
+ start() {
170
+ hideCursor();
171
+ this.frameIndex = 0;
172
+ this.bubbleIndex = 0;
173
+ this.interval = setInterval(() => {
174
+ const fish = exports.FISH_FRAMES[this.frameIndex % exports.FISH_FRAMES.length];
175
+ const bubble = this.bubbleFrames[this.bubbleIndex % this.bubbleFrames.length];
176
+ const dots = '.'.repeat((this.frameIndex % 3) + 1).padEnd(3);
177
+ process.stdout.write('\r\x1b[2K');
178
+ process.stdout.write(OCEAN_GRADIENT(fish) +
179
+ chalk.hex('#60a5fa')(` ${bubble} ${bubble} `) +
180
+ chalk.hex('#a78bfa')(`${this.message}${dots}`));
181
+ this.frameIndex++;
182
+ this.bubbleIndex++;
183
+ }, 150);
184
+ }
185
+ updateMessage(message) {
186
+ this.message = message;
187
+ }
188
+ stop(finalMessage) {
189
+ if (this.interval) {
190
+ clearInterval(this.interval);
191
+ this.interval = null;
192
+ }
193
+ process.stdout.write('\r\x1b[2K');
194
+ if (finalMessage) {
195
+ process.stdout.write(OCEAN_GRADIENT(` ><(((°>`) +
196
+ chalk.hex('#34d399')(` ✓ ${finalMessage}`) + '\n');
197
+ }
198
+ showCursor();
199
+ }
200
+ fail(errorMessage) {
201
+ if (this.interval) {
202
+ clearInterval(this.interval);
203
+ this.interval = null;
204
+ }
205
+ process.stdout.write('\r\x1b[2K');
206
+ if (errorMessage) {
207
+ process.stdout.write(EMBER_GRADIENT(` ><(((x>`) +
208
+ chalk.hex('#f87171')(` ✗ ${errorMessage}`) + '\n');
209
+ }
210
+ showCursor();
211
+ }
212
+ }
213
+ exports.FishThinkingAnimation = FishThinkingAnimation;
214
+ // ─── Progress Bar with Swimming Fish ─────────────────────────────
215
+ function renderFishProgress(current, total, label = '') {
216
+ const termWidth = process.stdout.columns || 80;
217
+ const barWidth = Math.min(40, termWidth - 30);
218
+ const progress = Math.min(1, current / total);
219
+ const filled = Math.round(barWidth * progress);
220
+ const empty = barWidth - filled;
221
+ const percent = Math.round(progress * 100);
222
+ const fishPos = Math.round(filled);
223
+ const bar = chalk.hex('#06b6d4')('═'.repeat(Math.max(0, fishPos - 1))) +
224
+ OCEAN_GRADIENT('><(((º>') +
225
+ chalk.hex('#1e3a5f')('░'.repeat(Math.max(0, empty)));
226
+ const percentStr = chalk.hex('#818cf8')(`${percent}%`);
227
+ const labelStr = label ? chalk.dim(` ${label}`) : '';
228
+ process.stdout.write(`\r\x1b[2K ${bar} ${percentStr}${labelStr}`);
229
+ if (current >= total) {
230
+ process.stdout.write('\n');
231
+ }
232
+ }
233
+ // ─── Status Indicators ──────────────────────────────────────────
234
+ function fishSuccess(message) {
235
+ console.log(OCEAN_GRADIENT(` ><(((°>`) + chalk.hex('#34d399')(` ✓ ${message}`));
236
+ }
237
+ function fishError(message) {
238
+ console.log(EMBER_GRADIENT(` ><(((x>`) + chalk.hex('#f87171')(` ✗ ${message}`));
239
+ }
240
+ function fishInfo(message) {
241
+ console.log(OCEAN_GRADIENT(` ><(((º>`) + chalk.hex('#60a5fa')(` ℹ ${message}`));
242
+ }
243
+ function fishWarn(message) {
244
+ console.log(GOLD_GRADIENT(` ><(((º>`) + chalk.hex('#fbbf24')(` ⚠ ${message}`));
245
+ }
246
+ // ─── Decorative Box ──────────────────────────────────────────────
247
+ function fishBox(title, content, options = {}) {
248
+ const width = options.width || Math.min(60, (process.stdout.columns || 80) - 4);
249
+ const innerWidth = width - 4;
250
+ const topBorder = chalk.hex('#6366f1')(` ╭${'─'.repeat(width - 2)}╮`);
251
+ const bottomBorder = chalk.hex('#6366f1')(` ╰${'─'.repeat(width - 2)}╯`);
252
+ console.log(topBorder);
253
+ // Title
254
+ const titlePad = Math.max(0, innerWidth - title.length);
255
+ const leftPad = Math.floor(titlePad / 2);
256
+ const rightPad = titlePad - leftPad;
257
+ console.log(chalk.hex('#6366f1')(' │') +
258
+ ' '.repeat(leftPad + 1) +
259
+ LUXE_GRADIENT(title) +
260
+ ' '.repeat(rightPad + 1) +
261
+ chalk.hex('#6366f1')('│'));
262
+ // Separator
263
+ console.log(chalk.hex('#6366f1')(` │${'─'.repeat(width - 2)}│`));
264
+ // Content
265
+ for (const line of content) {
266
+ const stripped = line.replace(/\x1b\[[0-9;]*m/g, '');
267
+ const linePad = Math.max(0, innerWidth - stripped.length);
268
+ console.log(chalk.hex('#6366f1')(' │ ') +
269
+ line +
270
+ ' '.repeat(linePad + 1) +
271
+ chalk.hex('#6366f1')('│'));
272
+ }
273
+ console.log(bottomBorder);
274
+ }
275
+ // ─── Exports ────────────────────────────────────────────────────
276
+ module.exports = {
277
+ FISH_FRAMES: exports.FISH_FRAMES,
278
+ FISH_SWIM_FRAMES: exports.FISH_SWIM_FRAMES,
279
+ FISH_DEAD: exports.FISH_DEAD,
280
+ FISH_HAPPY: exports.FISH_HAPPY,
281
+ BIG_FISH: exports.BIG_FISH,
282
+ playSplashScreen,
283
+ printQuickSplash,
284
+ FishThinkingAnimation,
285
+ renderFishProgress,
286
+ fishSuccess,
287
+ fishError,
288
+ fishInfo,
289
+ fishWarn,
290
+ fishBox,
291
+ OCEAN_GRADIENT,
292
+ GOLD_GRADIENT,
293
+ NEON_GRADIENT,
294
+ LUXE_GRADIENT,
295
+ EMBER_GRADIENT,
296
+ };
297
+ //# sourceMappingURL=fish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fish.js","sourceRoot":"","sources":["../../../../src/cli/animations/fish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 🐟 AZERCLAW Agents CLI Command
3
+ * List, invoke, and manage the Pantheon of built-in agents.
4
+ */
5
+ export declare function agentsList(): void;
6
+ export declare function agentInvoke(name: string, task: string, opts: any): Promise<void>;
7
+ export declare function agentAuto(task: string): Promise<void>;
8
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,wBAAgB,UAAU,IAAI,IAAI,CAqBjC;AAID,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDtF;AAID,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3D"}