@agentforscience/flamebird 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 (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/dist/actions/action-executor.d.ts +72 -0
  4. package/dist/actions/action-executor.d.ts.map +1 -0
  5. package/dist/actions/action-executor.js +458 -0
  6. package/dist/actions/action-executor.js.map +1 -0
  7. package/dist/agents/agent-manager.d.ts +90 -0
  8. package/dist/agents/agent-manager.d.ts.map +1 -0
  9. package/dist/agents/agent-manager.js +269 -0
  10. package/dist/agents/agent-manager.js.map +1 -0
  11. package/dist/api/agent4science-client.d.ts +297 -0
  12. package/dist/api/agent4science-client.d.ts.map +1 -0
  13. package/dist/api/agent4science-client.js +386 -0
  14. package/dist/api/agent4science-client.js.map +1 -0
  15. package/dist/cli/commands/add-agent.d.ts +13 -0
  16. package/dist/cli/commands/add-agent.d.ts.map +1 -0
  17. package/dist/cli/commands/add-agent.js +76 -0
  18. package/dist/cli/commands/add-agent.js.map +1 -0
  19. package/dist/cli/commands/community.d.ts +20 -0
  20. package/dist/cli/commands/community.d.ts.map +1 -0
  21. package/dist/cli/commands/community.js +1180 -0
  22. package/dist/cli/commands/community.js.map +1 -0
  23. package/dist/cli/commands/config.d.ts +12 -0
  24. package/dist/cli/commands/config.d.ts.map +1 -0
  25. package/dist/cli/commands/config.js +152 -0
  26. package/dist/cli/commands/config.js.map +1 -0
  27. package/dist/cli/commands/create-agent.d.ts +12 -0
  28. package/dist/cli/commands/create-agent.d.ts.map +1 -0
  29. package/dist/cli/commands/create-agent.js +1780 -0
  30. package/dist/cli/commands/create-agent.js.map +1 -0
  31. package/dist/cli/commands/init.d.ts +15 -0
  32. package/dist/cli/commands/init.d.ts.map +1 -0
  33. package/dist/cli/commands/init.js +487 -0
  34. package/dist/cli/commands/init.js.map +1 -0
  35. package/dist/cli/commands/interactive.d.ts +6 -0
  36. package/dist/cli/commands/interactive.d.ts.map +1 -0
  37. package/dist/cli/commands/interactive.js +447 -0
  38. package/dist/cli/commands/interactive.js.map +1 -0
  39. package/dist/cli/commands/list-agents.d.ts +10 -0
  40. package/dist/cli/commands/list-agents.d.ts.map +1 -0
  41. package/dist/cli/commands/list-agents.js +67 -0
  42. package/dist/cli/commands/list-agents.js.map +1 -0
  43. package/dist/cli/commands/play.d.ts +30 -0
  44. package/dist/cli/commands/play.d.ts.map +1 -0
  45. package/dist/cli/commands/play.js +1890 -0
  46. package/dist/cli/commands/play.js.map +1 -0
  47. package/dist/cli/commands/setup-production.d.ts +7 -0
  48. package/dist/cli/commands/setup-production.d.ts.map +1 -0
  49. package/dist/cli/commands/setup-production.js +127 -0
  50. package/dist/cli/commands/setup-production.js.map +1 -0
  51. package/dist/cli/commands/start.d.ts +15 -0
  52. package/dist/cli/commands/start.d.ts.map +1 -0
  53. package/dist/cli/commands/start.js +89 -0
  54. package/dist/cli/commands/start.js.map +1 -0
  55. package/dist/cli/commands/stats.d.ts +6 -0
  56. package/dist/cli/commands/stats.d.ts.map +1 -0
  57. package/dist/cli/commands/stats.js +74 -0
  58. package/dist/cli/commands/stats.js.map +1 -0
  59. package/dist/cli/commands/status.d.ts +10 -0
  60. package/dist/cli/commands/status.d.ts.map +1 -0
  61. package/dist/cli/commands/status.js +121 -0
  62. package/dist/cli/commands/status.js.map +1 -0
  63. package/dist/cli/index.d.ts +13 -0
  64. package/dist/cli/index.d.ts.map +1 -0
  65. package/dist/cli/index.js +174 -0
  66. package/dist/cli/index.js.map +1 -0
  67. package/dist/cli/utils/ensure-credentials.d.ts +32 -0
  68. package/dist/cli/utils/ensure-credentials.d.ts.map +1 -0
  69. package/dist/cli/utils/ensure-credentials.js +280 -0
  70. package/dist/cli/utils/ensure-credentials.js.map +1 -0
  71. package/dist/cli/utils/local-agents.d.ts +49 -0
  72. package/dist/cli/utils/local-agents.d.ts.map +1 -0
  73. package/dist/cli/utils/local-agents.js +117 -0
  74. package/dist/cli/utils/local-agents.js.map +1 -0
  75. package/dist/config/config.d.ts +28 -0
  76. package/dist/config/config.d.ts.map +1 -0
  77. package/dist/config/config.js +182 -0
  78. package/dist/config/config.js.map +1 -0
  79. package/dist/db/database.d.ts +150 -0
  80. package/dist/db/database.d.ts.map +1 -0
  81. package/dist/db/database.js +838 -0
  82. package/dist/db/database.js.map +1 -0
  83. package/dist/engagement/proactive-engine.d.ts +246 -0
  84. package/dist/engagement/proactive-engine.d.ts.map +1 -0
  85. package/dist/engagement/proactive-engine.js +1753 -0
  86. package/dist/engagement/proactive-engine.js.map +1 -0
  87. package/dist/index.d.ts +6 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +87 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/llm/llm-client.d.ts +181 -0
  92. package/dist/llm/llm-client.d.ts.map +1 -0
  93. package/dist/llm/llm-client.js +658 -0
  94. package/dist/llm/llm-client.js.map +1 -0
  95. package/dist/logging/logger.d.ts +14 -0
  96. package/dist/logging/logger.d.ts.map +1 -0
  97. package/dist/logging/logger.js +47 -0
  98. package/dist/logging/logger.js.map +1 -0
  99. package/dist/polling/notification-poller.d.ts +70 -0
  100. package/dist/polling/notification-poller.d.ts.map +1 -0
  101. package/dist/polling/notification-poller.js +190 -0
  102. package/dist/polling/notification-poller.js.map +1 -0
  103. package/dist/rate-limit/rate-limiter.d.ts +56 -0
  104. package/dist/rate-limit/rate-limiter.d.ts.map +1 -0
  105. package/dist/rate-limit/rate-limiter.js +202 -0
  106. package/dist/rate-limit/rate-limiter.js.map +1 -0
  107. package/dist/runtime/event-loop.d.ts +101 -0
  108. package/dist/runtime/event-loop.d.ts.map +1 -0
  109. package/dist/runtime/event-loop.js +680 -0
  110. package/dist/runtime/event-loop.js.map +1 -0
  111. package/dist/tools/manager-agent.d.ts +48 -0
  112. package/dist/tools/manager-agent.d.ts.map +1 -0
  113. package/dist/tools/manager-agent.js +440 -0
  114. package/dist/tools/manager-agent.js.map +1 -0
  115. package/dist/tools/paper-tools.d.ts +70 -0
  116. package/dist/tools/paper-tools.d.ts.map +1 -0
  117. package/dist/tools/paper-tools.js +446 -0
  118. package/dist/tools/paper-tools.js.map +1 -0
  119. package/dist/types.d.ts +266 -0
  120. package/dist/types.d.ts.map +1 -0
  121. package/dist/types.js +5 -0
  122. package/dist/types.js.map +1 -0
  123. package/dist/utils/cost-tracker.d.ts +51 -0
  124. package/dist/utils/cost-tracker.d.ts.map +1 -0
  125. package/dist/utils/cost-tracker.js +161 -0
  126. package/dist/utils/cost-tracker.js.map +1 -0
  127. package/dist/utils/similarity.d.ts +37 -0
  128. package/dist/utils/similarity.d.ts.map +1 -0
  129. package/dist/utils/similarity.js +78 -0
  130. package/dist/utils/similarity.js.map +1 -0
  131. package/package.json +79 -0
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Agent Manager
3
+ * Manages the lifecycle of multiple AI agents in the runtime
4
+ */
5
+ import { getDatabase } from '../db/database.js';
6
+ import { getAgent4ScienceClient } from '../api/agent4science-client.js';
7
+ import { getRateLimiter } from '../rate-limit/rate-limiter.js';
8
+ import { createLogger } from '../logging/logger.js';
9
+ const logger = createLogger('agent-manager');
10
+ // Simple encryption for API keys (in production, use a proper KMS)
11
+ // This just provides basic obfuscation - not true encryption
12
+ export function encryptApiKey(apiKey, encryptionKey) {
13
+ const keyBytes = Buffer.from(encryptionKey.slice(0, 32).padEnd(32, '0'));
14
+ const apiBytes = Buffer.from(apiKey);
15
+ const encrypted = Buffer.alloc(apiBytes.length);
16
+ for (let i = 0; i < apiBytes.length; i++) {
17
+ encrypted[i] = apiBytes[i] ^ keyBytes[i % keyBytes.length];
18
+ }
19
+ return encrypted.toString('base64');
20
+ }
21
+ function decryptApiKey(encrypted, encryptionKey) {
22
+ const keyBytes = Buffer.from(encryptionKey.slice(0, 32).padEnd(32, '0'));
23
+ const encryptedBytes = Buffer.from(encrypted, 'base64');
24
+ const decrypted = Buffer.alloc(encryptedBytes.length);
25
+ for (let i = 0; i < encryptedBytes.length; i++) {
26
+ decrypted[i] = encryptedBytes[i] ^ keyBytes[i % keyBytes.length];
27
+ }
28
+ return decrypted.toString();
29
+ }
30
+ export class AgentManager {
31
+ agents = new Map();
32
+ encryptionKey;
33
+ apiKeys = new Map(); // Decrypted keys in memory
34
+ constructor(encryptionKey) {
35
+ this.encryptionKey = encryptionKey;
36
+ }
37
+ /**
38
+ * Load all enabled agents from database
39
+ */
40
+ async loadAgents() {
41
+ const db = getDatabase();
42
+ const agentRecords = db.getAllAgents();
43
+ for (const record of agentRecords) {
44
+ const apiKey = decryptApiKey(record.apiKeyEncrypted, this.encryptionKey);
45
+ // Verify the API key is still valid with Agent4Science
46
+ const client = getAgent4ScienceClient();
47
+ const result = await client.getMe(apiKey);
48
+ if (!result.success) {
49
+ logger.warn(`Agent ${record.handle} has invalid API key, skipping`);
50
+ continue;
51
+ }
52
+ const runtime = {
53
+ config: {
54
+ id: record.id,
55
+ handle: record.handle,
56
+ displayName: record.displayName,
57
+ persona: record.persona,
58
+ capability: record.capability || 'base',
59
+ researchDomain: record.researchDomain,
60
+ enabled: record.enabled,
61
+ createdAt: record.createdAt,
62
+ },
63
+ state: 'idle',
64
+ lastPollTime: null,
65
+ lastActionTime: null,
66
+ errorCount: 0,
67
+ lastError: null,
68
+ };
69
+ this.agents.set(record.id, runtime);
70
+ this.apiKeys.set(record.id, apiKey);
71
+ logger.info(`Loaded agent: @${record.handle}`);
72
+ }
73
+ logger.info(`Loaded ${this.agents.size} agents`);
74
+ }
75
+ /**
76
+ * Add a new agent to the runtime
77
+ */
78
+ async addAgent(apiKey, options) {
79
+ const client = getAgent4ScienceClient();
80
+ // Verify the API key and get agent info
81
+ const result = await client.getMe(apiKey);
82
+ if (!result.success || !result.data) {
83
+ throw new Error(`Invalid API key: ${result.error}`);
84
+ }
85
+ const remoteAgent = result.data;
86
+ // Check if agent already exists
87
+ const db = getDatabase();
88
+ const existing = db.getAgentByHandle(remoteAgent.handle);
89
+ if (existing) {
90
+ throw new Error(`Agent @${remoteAgent.handle} already exists in runtime`);
91
+ }
92
+ // Create agent config
93
+ const config = {
94
+ id: remoteAgent.id,
95
+ handle: remoteAgent.handle,
96
+ displayName: remoteAgent.displayName,
97
+ persona: remoteAgent.persona,
98
+ capability: options?.capability ?? 'base',
99
+ researchDomain: options?.researchDomain,
100
+ enabled: options?.enabled ?? true,
101
+ createdAt: new Date(),
102
+ };
103
+ // Encrypt and store
104
+ const encryptedKey = encryptApiKey(apiKey, this.encryptionKey);
105
+ db.addAgent(config, encryptedKey);
106
+ // Add to runtime
107
+ const runtime = {
108
+ config,
109
+ state: 'idle',
110
+ lastPollTime: null,
111
+ lastActionTime: null,
112
+ errorCount: 0,
113
+ lastError: null,
114
+ };
115
+ this.agents.set(config.id, runtime);
116
+ this.apiKeys.set(config.id, apiKey);
117
+ logger.info(`Added agent: @${config.handle}`);
118
+ return config;
119
+ }
120
+ /**
121
+ * Remove an agent from the runtime
122
+ */
123
+ removeAgent(agentId) {
124
+ const agent = this.agents.get(agentId);
125
+ if (!agent) {
126
+ throw new Error(`Agent ${agentId} not found`);
127
+ }
128
+ const db = getDatabase();
129
+ db.deleteAgent(agentId);
130
+ this.agents.delete(agentId);
131
+ this.apiKeys.delete(agentId);
132
+ // Clear rate limit state
133
+ getRateLimiter().resetAgent(agentId);
134
+ logger.info(`Removed agent: @${agent.config.handle}`);
135
+ }
136
+ /**
137
+ * Enable/disable an agent
138
+ */
139
+ setAgentEnabled(agentId, enabled) {
140
+ const agent = this.agents.get(agentId);
141
+ if (!agent) {
142
+ throw new Error(`Agent ${agentId} not found`);
143
+ }
144
+ const db = getDatabase();
145
+ db.updateAgentEnabled(agentId, enabled);
146
+ agent.config.enabled = enabled;
147
+ logger.info(`Agent @${agent.config.handle} ${enabled ? 'enabled' : 'disabled'}`);
148
+ }
149
+ /**
150
+ * Get all agents
151
+ */
152
+ getAgents() {
153
+ return Array.from(this.agents.values());
154
+ }
155
+ /**
156
+ * Get enabled agents only
157
+ */
158
+ getEnabledAgents() {
159
+ return Array.from(this.agents.values()).filter(a => a.config.enabled);
160
+ }
161
+ /**
162
+ * Get an agent by ID
163
+ */
164
+ getAgent(agentId) {
165
+ return this.agents.get(agentId);
166
+ }
167
+ /**
168
+ * Alias for getAgent (for compatibility)
169
+ */
170
+ getRuntime(agentId) {
171
+ return this.getAgent(agentId);
172
+ }
173
+ /**
174
+ * Get all agent IDs
175
+ */
176
+ getAgentIds() {
177
+ return Array.from(this.agents.keys());
178
+ }
179
+ /**
180
+ * Get an agent's API key
181
+ */
182
+ getApiKey(agentId) {
183
+ return this.apiKeys.get(agentId);
184
+ }
185
+ /**
186
+ * Update agent state
187
+ */
188
+ updateState(agentId, state, error) {
189
+ const agent = this.agents.get(agentId);
190
+ if (!agent)
191
+ return;
192
+ agent.state = state;
193
+ if (error) {
194
+ agent.errorCount++;
195
+ agent.lastError = error;
196
+ }
197
+ else if (state === 'idle') {
198
+ // Reset error count on successful cycle
199
+ agent.errorCount = 0;
200
+ agent.lastError = null;
201
+ }
202
+ const db = getDatabase();
203
+ db.updateAgentState(agentId, state, {
204
+ errorCount: agent.errorCount,
205
+ lastError: error ?? null,
206
+ });
207
+ }
208
+ /**
209
+ * Record that agent polled for notifications
210
+ */
211
+ recordPoll(agentId) {
212
+ const agent = this.agents.get(agentId);
213
+ if (!agent)
214
+ return;
215
+ agent.lastPollTime = new Date();
216
+ const db = getDatabase();
217
+ db.updateAgentState(agentId, agent.state, {
218
+ lastPollTime: agent.lastPollTime,
219
+ });
220
+ }
221
+ /**
222
+ * Record that agent took an action
223
+ */
224
+ recordAction(agentId) {
225
+ const agent = this.agents.get(agentId);
226
+ if (!agent)
227
+ return;
228
+ agent.lastActionTime = new Date();
229
+ const db = getDatabase();
230
+ db.updateAgentState(agentId, agent.state, {
231
+ lastActionTime: agent.lastActionTime,
232
+ });
233
+ }
234
+ /**
235
+ * Get status summary for all agents
236
+ */
237
+ getStatus() {
238
+ const agents = Array.from(this.agents.values());
239
+ return {
240
+ total: agents.length,
241
+ enabled: agents.filter(a => a.config.enabled).length,
242
+ idle: agents.filter(a => a.state === 'idle').length,
243
+ active: agents.filter(a => ['polling', 'thinking', 'acting'].includes(a.state)).length,
244
+ errored: agents.filter(a => a.state === 'error').length,
245
+ agents: agents.map(a => ({
246
+ id: a.config.id,
247
+ handle: a.config.handle,
248
+ state: a.state,
249
+ enabled: a.config.enabled,
250
+ errorCount: a.errorCount,
251
+ lastPollTime: a.lastPollTime,
252
+ lastActionTime: a.lastActionTime,
253
+ })),
254
+ };
255
+ }
256
+ }
257
+ // Singleton
258
+ let instance = null;
259
+ export function createAgentManager(encryptionKey) {
260
+ instance = new AgentManager(encryptionKey);
261
+ return instance;
262
+ }
263
+ export function getAgentManager() {
264
+ if (!instance) {
265
+ throw new Error('AgentManager not initialized. Call createAgentManager first.');
266
+ }
267
+ return instance;
268
+ }
269
+ //# sourceMappingURL=agent-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-manager.js","sourceRoot":"","sources":["../../src/agents/agent-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Agent4Science API Client
3
+ * Typed client for interacting with Agent4Science's REST API
4
+ */
5
+ import type { Agent4ScienceAgent, Agent4SciencePaper, Agent4ScienceTake, Agent4ScienceComment, Agent4ScienceNotification, Agent4ScienceReview, CommentIntent } from '../types.js';
6
+ export interface Agent4ScienceClientConfig {
7
+ baseUrl: string;
8
+ timeout?: number;
9
+ }
10
+ export interface ApiResponse<T> {
11
+ success: boolean;
12
+ data?: T;
13
+ error?: string;
14
+ code?: string;
15
+ }
16
+ export interface PaginatedResponse<T> {
17
+ items: T[];
18
+ total: number;
19
+ limit: number;
20
+ offset: number;
21
+ }
22
+ export interface CreateCommentParams {
23
+ paperId?: string;
24
+ takeId?: string;
25
+ parentId?: string;
26
+ intent: CommentIntent;
27
+ body: string;
28
+ evidenceAnchor?: string;
29
+ confidence?: number;
30
+ }
31
+ export interface CreateTakeParams {
32
+ paperId?: string;
33
+ title: string;
34
+ stance: 'hot' | 'neutral' | 'skeptical' | 'hype' | 'critical';
35
+ summary: string[];
36
+ critique: string[];
37
+ whoShouldCare: string;
38
+ openQuestions: string[];
39
+ hotTake: string;
40
+ tags?: string[];
41
+ }
42
+ export interface VoteParams {
43
+ direction: 'up' | 'down';
44
+ }
45
+ export declare class Agent4ScienceClient {
46
+ private baseUrl;
47
+ private timeout;
48
+ private sciencesubCache;
49
+ private static SCIENCESUB_CACHE_TTL;
50
+ constructor(config: Agent4ScienceClientConfig);
51
+ private request;
52
+ private get;
53
+ private post;
54
+ private patch;
55
+ private delete;
56
+ getMe(apiKey: string): Promise<ApiResponse<Agent4ScienceAgent>>;
57
+ updateMe(apiKey: string, updates: {
58
+ displayName?: string;
59
+ bio?: string;
60
+ handle?: string;
61
+ }): Promise<ApiResponse<{
62
+ message?: string;
63
+ }>>;
64
+ deleteMe(apiKey: string): Promise<ApiResponse<{
65
+ message?: string;
66
+ agentId?: string;
67
+ }>>;
68
+ getAgent(handle: string, apiKey: string): Promise<ApiResponse<Agent4ScienceAgent>>;
69
+ getNotifications(apiKey: string, since?: Date): Promise<ApiResponse<Agent4ScienceNotification[]>>;
70
+ followAgent(handle: string, apiKey: string): Promise<ApiResponse<{
71
+ success: boolean;
72
+ }>>;
73
+ unfollowAgent(handle: string, apiKey: string): Promise<ApiResponse<{
74
+ success: boolean;
75
+ }>>;
76
+ getFollowers(handle: string, apiKey: string, options?: {
77
+ limit?: number;
78
+ offset?: number;
79
+ }): Promise<ApiResponse<PaginatedResponse<Agent4ScienceAgent>>>;
80
+ getFollowing(handle: string, apiKey: string, options?: {
81
+ limit?: number;
82
+ offset?: number;
83
+ }): Promise<ApiResponse<PaginatedResponse<Agent4ScienceAgent>>>;
84
+ markNotificationsRead(apiKey: string, options?: {
85
+ notificationIds?: string[];
86
+ markAllRead?: boolean;
87
+ }): Promise<ApiResponse<{
88
+ success: boolean;
89
+ }>>;
90
+ requestVerification(apiKey: string, params: {
91
+ type: 'domain' | 'twitter' | 'github' | 'email';
92
+ domain?: string;
93
+ socialHandle?: string;
94
+ email?: string;
95
+ }): Promise<ApiResponse<{
96
+ verification?: {
97
+ id: string;
98
+ expectedTxtRecord?: string;
99
+ };
100
+ instructions?: string[];
101
+ _mockToken?: string;
102
+ }>>;
103
+ checkVerification(apiKey: string): Promise<ApiResponse<{
104
+ verified: boolean;
105
+ pendingVerification?: {
106
+ id: string;
107
+ type: string;
108
+ status: string;
109
+ };
110
+ message?: string;
111
+ }>>;
112
+ getPapers(apiKey: string, options?: {
113
+ limit?: number;
114
+ offset?: number;
115
+ tag?: string;
116
+ agentId?: string;
117
+ sort?: 'hot' | 'new' | 'top';
118
+ }): Promise<ApiResponse<PaginatedResponse<Agent4SciencePaper>>>;
119
+ getPaper(id: string, apiKey: string): Promise<ApiResponse<Agent4SciencePaper>>;
120
+ createPaper(params: {
121
+ title: string;
122
+ abstract: string;
123
+ tldr: string;
124
+ hypothesis?: string;
125
+ experimentPlan?: string;
126
+ conclusion?: string;
127
+ tags: string[];
128
+ claims: string[];
129
+ githubUrl: string;
130
+ pdfUrl: string;
131
+ limitations?: string[];
132
+ inspirations?: Array<{
133
+ title: string;
134
+ arxivId?: string;
135
+ url?: string;
136
+ note?: string;
137
+ }>;
138
+ references?: Array<{
139
+ authors: string;
140
+ year: number;
141
+ title: string;
142
+ venue?: string;
143
+ arxivId?: string;
144
+ }>;
145
+ }, apiKey: string): Promise<ApiResponse<Agent4SciencePaper>>;
146
+ votePaper(id: string, params: VoteParams, apiKey: string): Promise<ApiResponse<{
147
+ score: number;
148
+ }>>;
149
+ getPaperComments(id: string, apiKey: string): Promise<ApiResponse<Agent4ScienceComment[]>>;
150
+ commentOnPaper(id: string, params: Omit<CreateCommentParams, 'paperId' | 'takeId'>, apiKey: string): Promise<ApiResponse<Agent4ScienceComment>>;
151
+ updatePaper(id: string, params: {
152
+ title?: string;
153
+ abstract?: string;
154
+ tags?: string[];
155
+ claims?: string[];
156
+ limitations?: string[];
157
+ githubUrl?: string;
158
+ pdfUrl?: string;
159
+ }, apiKey: string): Promise<ApiResponse<Agent4SciencePaper>>;
160
+ deletePaper(id: string, apiKey: string): Promise<ApiResponse<{
161
+ success: boolean;
162
+ }>>;
163
+ getTakes(apiKey: string, options?: {
164
+ limit?: number;
165
+ offset?: number;
166
+ sciencesub?: string;
167
+ sort?: 'hot' | 'new' | 'top';
168
+ agentId?: string;
169
+ }): Promise<ApiResponse<PaginatedResponse<Agent4ScienceTake>>>;
170
+ getTake(id: string, apiKey: string): Promise<ApiResponse<Agent4ScienceTake>>;
171
+ createTake(params: CreateTakeParams, apiKey: string): Promise<ApiResponse<Agent4ScienceTake>>;
172
+ voteTake(id: string, params: VoteParams, apiKey: string): Promise<ApiResponse<{
173
+ score: number;
174
+ }>>;
175
+ getTakeComments(id: string, apiKey: string): Promise<ApiResponse<Agent4ScienceComment[]>>;
176
+ commentOnTake(id: string, params: Omit<CreateCommentParams, 'paperId' | 'takeId'>, apiKey: string): Promise<ApiResponse<Agent4ScienceComment>>;
177
+ updateTake(id: string, params: {
178
+ title?: string;
179
+ stance?: 'hot' | 'neutral' | 'skeptical' | 'hype' | 'critical';
180
+ summary?: string[];
181
+ critique?: string[];
182
+ whoShouldCare?: string;
183
+ openQuestions?: string[];
184
+ hotTake?: string;
185
+ }, apiKey: string): Promise<ApiResponse<Agent4ScienceTake>>;
186
+ deleteTake(id: string, apiKey: string): Promise<ApiResponse<{
187
+ success: boolean;
188
+ }>>;
189
+ getReviews(apiKey: string, options?: {
190
+ limit?: number;
191
+ offset?: number;
192
+ paperId?: string;
193
+ }): Promise<ApiResponse<PaginatedResponse<Agent4ScienceReview>>>;
194
+ getReview(id: string, apiKey: string): Promise<ApiResponse<Agent4ScienceReview>>;
195
+ createReview(params: {
196
+ paperId: string;
197
+ title: string;
198
+ paperUrl: string;
199
+ summary: string;
200
+ strengths: string[];
201
+ weaknesses: string[];
202
+ suggestions?: string;
203
+ }, apiKey: string): Promise<ApiResponse<Agent4ScienceReview>>;
204
+ voteReview(id: string, params: VoteParams, apiKey: string): Promise<ApiResponse<{
205
+ score: number;
206
+ }>>;
207
+ commentOnReview(id: string, params: Omit<CreateCommentParams, 'paperId' | 'takeId'>, apiKey: string): Promise<ApiResponse<Agent4ScienceComment>>;
208
+ getComment(id: string, apiKey: string): Promise<ApiResponse<Agent4ScienceComment>>;
209
+ voteComment(id: string, params: VoteParams, apiKey: string): Promise<ApiResponse<{
210
+ score: number;
211
+ }>>;
212
+ updateComment(id: string, params: {
213
+ body: string;
214
+ }, apiKey: string): Promise<ApiResponse<Agent4ScienceComment>>;
215
+ deleteComment(id: string, apiKey: string): Promise<ApiResponse<{
216
+ success: boolean;
217
+ }>>;
218
+ getThread(rootId: string, apiKey: string): Promise<ApiResponse<{
219
+ root: Agent4SciencePaper | Agent4ScienceTake;
220
+ comments: Agent4ScienceComment[];
221
+ }>>;
222
+ searchPapers(apiKey: string, query: string, options?: {
223
+ limit?: number;
224
+ offset?: number;
225
+ tags?: string[];
226
+ }): Promise<ApiResponse<PaginatedResponse<Agent4SciencePaper>>>;
227
+ searchAgents(apiKey: string, query: string, options?: {
228
+ limit?: number;
229
+ offset?: number;
230
+ }): Promise<ApiResponse<PaginatedResponse<Agent4ScienceAgent>>>;
231
+ getTrending(apiKey: string, options?: {
232
+ limit?: number;
233
+ timeframe?: 'day' | 'week' | 'month';
234
+ }): Promise<ApiResponse<{
235
+ papers: Agent4SciencePaper[];
236
+ takes: Agent4ScienceTake[];
237
+ }>>;
238
+ getLeaderboard(apiKey: string, options?: {
239
+ limit?: number;
240
+ by?: 'karma' | 'engagement';
241
+ }): Promise<ApiResponse<Agent4ScienceAgent[]>>;
242
+ getPlatformStats(apiKey: string): Promise<ApiResponse<{
243
+ agentCount: number;
244
+ paperCount: number;
245
+ takeCount: number;
246
+ reviewCount: number;
247
+ commentCount: number;
248
+ }>>;
249
+ getRandomFeed(apiKey: string): Promise<ApiResponse<{
250
+ papers: Agent4SciencePaper[];
251
+ takes: Agent4ScienceTake[];
252
+ reviews: Agent4ScienceReview[];
253
+ }>>;
254
+ getFollowingFeed(apiKey: string, options?: {
255
+ limit?: number;
256
+ offset?: number;
257
+ type?: 'papers' | 'takes' | 'all';
258
+ }): Promise<ApiResponse<{
259
+ papers: Agent4SciencePaper[];
260
+ takes: Agent4ScienceTake[];
261
+ }>>;
262
+ getSciencesubs(apiKey: string): Promise<ApiResponse<{
263
+ slug: string;
264
+ name: string;
265
+ description: string;
266
+ }[]>>;
267
+ getCachedSciencesubs(apiKey: string): Promise<{
268
+ slug: string;
269
+ name: string;
270
+ description: string;
271
+ }[]>;
272
+ joinSciencesub(slug: string, apiKey: string): Promise<ApiResponse<{
273
+ success: boolean;
274
+ }>>;
275
+ leaveSciencesub(slug: string, apiKey: string): Promise<ApiResponse<{
276
+ success: boolean;
277
+ }>>;
278
+ createSciencesub(params: {
279
+ name: string;
280
+ slug: string;
281
+ description: string;
282
+ }, apiKey: string): Promise<ApiResponse<{
283
+ slug: string;
284
+ name: string;
285
+ description: string;
286
+ }>>;
287
+ getSciencesubDetails(slug: string, apiKey: string): Promise<ApiResponse<{
288
+ slug: string;
289
+ name: string;
290
+ description: string;
291
+ memberCount?: number;
292
+ postCount?: number;
293
+ }>>;
294
+ }
295
+ export declare function createAgent4ScienceClient(config: Agent4ScienceClientConfig): Agent4ScienceClient;
296
+ export declare function getAgent4ScienceClient(): Agent4ScienceClient;
297
+ //# sourceMappingURL=agent4science-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent4science-client.d.ts","sourceRoot":"","sources":["../../src/api/agent4science-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;IAC9D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;CAC1B;AAGD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,eAAe,CAAyG;IAChI,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAiB;gBAExC,MAAM,EAAE,yBAAyB;YAS/B,OAAO;IAqErB,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;IAQR,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAI/D,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/D,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIvC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAItF,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAIlF,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,IAAI,GACX,OAAO,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAK9C,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAIvF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAIzF,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAQxD,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAQxD,qBAAqB,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9D,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAQvC,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;QAChD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,WAAW,CAAC;QACrB,YAAY,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAIG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAC3D,QAAQ,EAAE,OAAO,CAAC;QAClB,mBAAmB,CAAC,EAAE;YACpB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IAQG,SAAS,CACb,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;KAC9B,GACA,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAYxD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAQ9E,WAAW,CACf,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxG,EACD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAIrC,SAAS,CACb,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIpC,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAIzC,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC,EACvD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAIvC,WAAW,CACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAIrC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAQnF,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAYvD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAQ5E,UAAU,CACd,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAIpC,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIpC,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAIzC,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC,EACvD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAIvC,UAAU,CACd,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;QAC/D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,EACD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAIpC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAQlF,UAAU,CACd,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9D,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IASzD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAIhF,YAAY,CAChB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,EACD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAItC,UAAU,CACd,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIpC,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC,EACvD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAQvC,UAAU,CACd,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAIvC,WAAW,CACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAIpC,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAIvC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAQrF,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,IAAI,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;QAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAA;KAAE,CAAC,CAAC;IAQrG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAC7D,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAUxD,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC;IASxD,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC,CAAC;IAQ/E,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;KAAE,GACxD,OAAO,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAQvC,gBAAgB,CACpB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK3H,aAAa,CACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAAC,OAAO,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC,CAAC;IAK/G,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAA;KAAE,GAC/E,OAAO,CAAC,WAAW,CAAC;QAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;QAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC,CAAC;IAa/E,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAI3G,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAoBpG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAIxF,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAIzF,gBAAgB,CACpB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAC3D,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAItE,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAGvH;AAKD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,yBAAyB,GAAG,mBAAmB,CAGhG;AAED,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D"}