@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 @@
1
+ {"version":3,"file":"event-loop.js","sourceRoot":"","sources":["../../src/runtime/event-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Manager Agent
3
+ *
4
+ * Orchestrates the paper generation lifecycle for idea-explorer agents:
5
+ * 1. Discover interesting topics from Agent4Science (trending papers, discussions)
6
+ * 2. Use LLM to formulate a research idea
7
+ * 3. Invoke idea-explorer CLI
8
+ * 4. Post the results to Agent4Science via normal API (using agent's own API key)
9
+ *
10
+ * This runs on a schedule (default: once per 24h per agent) as part of the
11
+ * main event loop.
12
+ */
13
+ import type { AgentCapability } from '../types.js';
14
+ export interface ManagerAgentConfig {
15
+ /** Agent's Agent4Science API key (for posting papers + reading feed) */
16
+ apiKey: string;
17
+ /** Agent's database ID */
18
+ agentId: string;
19
+ /** Agent capability type */
20
+ capability: AgentCapability;
21
+ /** Research domain (e.g. 'mathematics', 'artificial_intelligence') */
22
+ researchDomain?: string;
23
+ /** LLM API key (OpenRouter or compatible) */
24
+ llmApiKey: string;
25
+ /** LLM model */
26
+ llmModel?: string;
27
+ /** GitHub Personal Access Token (needed for idea-explorer) */
28
+ githubToken?: string;
29
+ /** GitHub org name */
30
+ githubOrg?: string;
31
+ /** Path to idea-explorer installation */
32
+ ideaExplorerPath?: string;
33
+ /** AI provider for idea-explorer (default: claude) */
34
+ ideaExplorerProvider?: 'claude' | 'codex' | 'gemini';
35
+ }
36
+ export interface PaperGenerationResult {
37
+ success: boolean;
38
+ agent4sciencePaperId?: string;
39
+ title?: string;
40
+ githubUrl?: string;
41
+ error?: string;
42
+ }
43
+ /**
44
+ * Check if an agent is due for paper generation and run it if so.
45
+ * Called by the event loop on each tick for idea-explorer agents.
46
+ */
47
+ export declare function tickPaperGeneration(config: ManagerAgentConfig): Promise<PaperGenerationResult | null>;
48
+ //# sourceMappingURL=manager-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager-agent.d.ts","sourceRoot":"","sources":["../../src/tools/manager-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,aAAa,CAAC;AAQvE,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,UAAU,EAAE,eAAe,CAAC;IAC5B,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CACtD;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2aD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAiE3G"}
@@ -0,0 +1,440 @@
1
+ /**
2
+ * Manager Agent
3
+ *
4
+ * Orchestrates the paper generation lifecycle for idea-explorer agents:
5
+ * 1. Discover interesting topics from Agent4Science (trending papers, discussions)
6
+ * 2. Use LLM to formulate a research idea
7
+ * 3. Invoke idea-explorer CLI
8
+ * 4. Post the results to Agent4Science via normal API (using agent's own API key)
9
+ *
10
+ * This runs on a schedule (default: once per 24h per agent) as part of the
11
+ * main event loop.
12
+ */
13
+ import { createLogger } from '../logging/logger.js';
14
+ import { getAgent4ScienceClient } from '../api/agent4science-client.js';
15
+ import { ensureFirstTagIsSciencesub } from '../engagement/proactive-engine.js';
16
+ import { runIdeaExplorer, resolveIdeaExplorerPath } from './paper-tools.js';
17
+ import { getDatabase } from '../db/database.js';
18
+ const logger = createLogger('manager-agent');
19
+ // ============================================================================
20
+ // Topic Discovery
21
+ // ============================================================================
22
+ /**
23
+ * Discover what's trending on Agent4Science and generate a research topic.
24
+ */
25
+ async function discoverTopic(apiKey, llmApiKey, llmModel) {
26
+ const client = getAgent4ScienceClient();
27
+ // Fetch recent papers and takes for inspiration
28
+ const [papersResult, takesResult] = await Promise.all([
29
+ client.getPapers(apiKey, { limit: 10, sort: 'hot' }),
30
+ client.getTakes(apiKey, { limit: 10, sort: 'hot' }),
31
+ ]);
32
+ // The API client extracts wrapper keys, so data is the array directly
33
+ const papers = Array.isArray(papersResult.data) ? papersResult.data : [];
34
+ const takes = Array.isArray(takesResult.data) ? takesResult.data : [];
35
+ // Build context from recent activity
36
+ const context = [
37
+ 'Recent papers on Agent4Science:',
38
+ ...papers.slice(0, 5).map((p) => `- "${p.title}" (tags: ${p.tags.join(', ')})`),
39
+ '',
40
+ 'Recent hot takes:',
41
+ ...takes.slice(0, 5).map((t) => `- "${t.title}": ${t.hotTake}`),
42
+ ].join('\n');
43
+ // Use LLM to generate a novel research topic
44
+ const baseUrl = 'https://openrouter.ai/api/v1';
45
+ const model = llmModel || 'anthropic/claude-sonnet-4';
46
+ const response = await fetch(`${baseUrl}/chat/completions`, {
47
+ method: 'POST',
48
+ headers: {
49
+ 'Content-Type': 'application/json',
50
+ 'Authorization': `Bearer ${llmApiKey}`,
51
+ },
52
+ body: JSON.stringify({
53
+ model,
54
+ messages: [
55
+ {
56
+ role: 'system',
57
+ content: `You are a creative research scientist who identifies promising research directions.
58
+ Given recent activity on a science discussion platform, suggest a novel, specific research topic
59
+ that would contribute meaningfully to the ongoing discussions. The topic should be original and not
60
+ just repeat what's already been posted. Return ONLY the topic as a single sentence - no explanation.`,
61
+ },
62
+ {
63
+ role: 'user',
64
+ content: context || 'Suggest a novel mathematical research topic.',
65
+ },
66
+ ],
67
+ temperature: 0.9,
68
+ max_tokens: 256,
69
+ }),
70
+ });
71
+ if (!response.ok) {
72
+ logger.warn('Topic discovery LLM call failed, using fallback');
73
+ return 'Generate a novel mathematical research topic';
74
+ }
75
+ const data = await response.json();
76
+ const topic = data.choices[0]?.message?.content?.trim();
77
+ return topic || 'Generate a novel mathematical research topic';
78
+ }
79
+ // ============================================================================
80
+ // Paper Generation Flows
81
+ // ============================================================================
82
+ /**
83
+ * Use LLM to generate a structured idea YAML from a topic string.
84
+ * Produces a YAML that matches idea-explorer's schema (title, domain, hypothesis,
85
+ * background, methodology).
86
+ */
87
+ async function generateIdeaYaml(topic, llmApiKey, llmModel, domain) {
88
+ const baseUrl = 'https://openrouter.ai/api/v1';
89
+ const model = llmModel || 'anthropic/claude-sonnet-4';
90
+ try {
91
+ const response = await fetch(`${baseUrl}/chat/completions`, {
92
+ method: 'POST',
93
+ headers: {
94
+ 'Content-Type': 'application/json',
95
+ 'Authorization': `Bearer ${llmApiKey}`,
96
+ },
97
+ body: JSON.stringify({
98
+ model,
99
+ messages: [
100
+ {
101
+ role: 'system',
102
+ content: `You are a research scientist. Given a topic, generate a structured research idea in YAML format.
103
+ Output ONLY valid YAML (no markdown fences). Follow this schema exactly:
104
+
105
+ idea:
106
+ title: "Clear, descriptive title"
107
+ domain: ${domain || 'artificial_intelligence'}
108
+ hypothesis: |
109
+ A specific, testable hypothesis (2-3 sentences).
110
+ background:
111
+ description: |
112
+ Context and motivation (2-3 sentences).
113
+ methodology:
114
+ approach: "High-level strategy (1 sentence)"
115
+ steps:
116
+ - "Step 1"
117
+ - "Step 2"
118
+ - "Step 3"
119
+ metrics:
120
+ - "Metric 1"
121
+ - "Metric 2"
122
+ constraints:
123
+ compute: cpu_only
124
+ time_limit: 3600
125
+ metadata:
126
+ tags:
127
+ - "tag1"
128
+ - "tag2"
129
+
130
+ Valid domains: machine_learning, artificial_intelligence, data_science, nlp, computer_vision, reinforcement_learning, systems, theory, scientific_computing, mathematics
131
+
132
+ Use domain "${domain || 'artificial_intelligence'}" unless the topic clearly belongs to another domain.`,
133
+ },
134
+ { role: 'user', content: topic },
135
+ ],
136
+ temperature: 0.7,
137
+ max_tokens: 1024,
138
+ }),
139
+ });
140
+ if (!response.ok) {
141
+ logger.warn('Idea YAML generation LLM call failed, using minimal YAML');
142
+ return buildMinimalYaml(topic, domain);
143
+ }
144
+ const data = await response.json();
145
+ const yaml = data.choices[0]?.message?.content?.trim();
146
+ if (yaml && yaml.includes('idea:'))
147
+ return yaml;
148
+ }
149
+ catch {
150
+ logger.warn('Failed to generate idea YAML via LLM');
151
+ }
152
+ return buildMinimalYaml(topic, domain);
153
+ }
154
+ /** Fallback: build a minimal but valid idea YAML. */
155
+ function buildMinimalYaml(topic, domain) {
156
+ const escaped = topic.replace(/"/g, '\\"');
157
+ return [
158
+ 'idea:',
159
+ ` title: "${escaped}"`,
160
+ ` domain: ${domain || 'artificial_intelligence'}`,
161
+ ' hypothesis: |',
162
+ ` ${escaped}`,
163
+ ' methodology:',
164
+ ' approach: "Empirical study with controlled experiments"',
165
+ ' steps:',
166
+ ' - "Literature review and baseline identification"',
167
+ ' - "Design and implement experiments"',
168
+ ' - "Run experiments and collect results"',
169
+ ' - "Analyze results and draw conclusions"',
170
+ ' metrics:',
171
+ ' - "Accuracy"',
172
+ ' - "Statistical significance"',
173
+ ' constraints:',
174
+ ' compute: cpu_only',
175
+ ' time_limit: 3600',
176
+ ].join('\n');
177
+ }
178
+ async function summarizeReportForPost(reportContent, llmApiKey, llmModel, sciencesubs) {
179
+ const baseUrl = 'https://openrouter.ai/api/v1';
180
+ const model = llmModel || 'anthropic/claude-sonnet-4';
181
+ let tagsInstruction = '- "tags": An array of 3-6 lowercase tags relevant to the research (e.g., "machine-learning", "mathematics", "nlp", "computer-vision")';
182
+ if (sciencesubs && sciencesubs.length > 0) {
183
+ const slugList = sciencesubs.map(s => s.slug).join(', ');
184
+ tagsInstruction = `- "tags": An array of 3-6 lowercase tags. The FIRST tag MUST be one of these sciencesub slugs: ${slugList}. Remaining tags are free-form research area tags.`;
185
+ }
186
+ try {
187
+ const response = await fetch(`${baseUrl}/chat/completions`, {
188
+ method: 'POST',
189
+ headers: {
190
+ 'Content-Type': 'application/json',
191
+ 'Authorization': `Bearer ${llmApiKey}`,
192
+ },
193
+ body: JSON.stringify({
194
+ model,
195
+ messages: [
196
+ {
197
+ role: 'system',
198
+ content: `You are writing a post for a scientific discussion platform (like academic Twitter/Reddit).
199
+ Given a research report, produce a JSON object with:
200
+ - "title": A clear, engaging paper title (max 120 chars)
201
+ - "tldr": A single-sentence summary of the paper (min 10 chars, max 200 chars)
202
+ - "abstract": A concise summary (2-3 paragraphs, ~200-400 words) that covers the research question, methodology, key findings, and significance. Write in an accessible academic style.
203
+ - "hypothesis": The main hypothesis or research question (1-2 sentences)
204
+ - "experimentPlan": Brief description of how the hypothesis was tested (1-2 sentences)
205
+ - "conclusion": The main conclusion from the research (1-2 sentences)
206
+ ${tagsInstruction}
207
+ - "claims": An array of 2-5 key claims or findings from the research (each a single sentence, max 100 chars)
208
+ - "limitations": An array of 1-3 limitations of the work (each a single sentence)
209
+
210
+ Output ONLY valid JSON, no markdown fences.`,
211
+ },
212
+ { role: 'user', content: reportContent },
213
+ ],
214
+ temperature: 0.3,
215
+ max_tokens: 1500,
216
+ }),
217
+ });
218
+ if (!response.ok) {
219
+ logger.warn('Report summarization LLM call failed');
220
+ return null;
221
+ }
222
+ const data = await response.json();
223
+ const content = data.choices[0]?.message?.content?.trim();
224
+ if (!content)
225
+ return null;
226
+ const parsed = JSON.parse(content);
227
+ if (!parsed.abstract)
228
+ return null;
229
+ return {
230
+ title: parsed.title || '',
231
+ tldr: parsed.tldr || parsed.title || '',
232
+ abstract: parsed.abstract,
233
+ hypothesis: parsed.hypothesis ?? parsed.claims?.[0] ?? 'This work investigates a novel approach',
234
+ experimentPlan: parsed.experimentPlan ?? '',
235
+ conclusion: parsed.conclusion ?? 'Results demonstrate the validity of the proposed approach',
236
+ tags: Array.isArray(parsed.tags) ? parsed.tags : [],
237
+ claims: Array.isArray(parsed.claims) && parsed.claims.length > 0
238
+ ? parsed.claims
239
+ : ['This paper presents novel research findings.'],
240
+ limitations: Array.isArray(parsed.limitations) ? parsed.limitations : [],
241
+ };
242
+ }
243
+ catch (error) {
244
+ logger.warn({ error }, 'Failed to summarize report via LLM');
245
+ return null;
246
+ }
247
+ }
248
+ /**
249
+ * Run the full idea-explorer paper generation flow:
250
+ * discover topic → generate idea YAML → submit + run → post to Agent4Science
251
+ */
252
+ async function runIdeaExplorerFlow(config) {
253
+ const iePath = config.ideaExplorerPath || resolveIdeaExplorerPath();
254
+ if (!iePath) {
255
+ return {
256
+ success: false,
257
+ error: 'Idea Explorer not found. Install it: curl -fsSL https://raw.githubusercontent.com/ChicagoHAI/idea-explorer/main/install.sh | bash',
258
+ };
259
+ }
260
+ // Step 1: Discover topic from Agent4Science
261
+ logger.info({ agentId: config.agentId }, 'Discovering research topic for Idea Explorer');
262
+ const topic = await discoverTopic(config.apiKey, config.llmApiKey, config.llmModel);
263
+ logger.info({ topic }, 'Topic selected');
264
+ // Step 2: Generate a structured idea YAML
265
+ logger.info('Generating structured idea YAML');
266
+ const ideaYaml = await generateIdeaYaml(topic, config.llmApiKey, config.llmModel, config.researchDomain);
267
+ // Write YAML to a temp file
268
+ const fs = await import('fs');
269
+ const path = await import('path');
270
+ const tmpDir = path.join(iePath, '.tmp-ideas');
271
+ fs.mkdirSync(tmpDir, { recursive: true });
272
+ const yamlPath = path.join(tmpDir, `idea-${Date.now()}.yaml`);
273
+ fs.writeFileSync(yamlPath, ideaYaml);
274
+ logger.info({ yamlPath }, 'Idea YAML written');
275
+ // Step 3: Run idea-explorer (submit + run via Docker)
276
+ const ieResult = await runIdeaExplorer(iePath, {
277
+ source: yamlPath,
278
+ provider: config.ideaExplorerProvider || 'claude',
279
+ autoRun: true,
280
+ });
281
+ // Clean up temp file
282
+ try {
283
+ fs.unlinkSync(yamlPath);
284
+ }
285
+ catch { /* ignore */ }
286
+ if (!ieResult.success) {
287
+ return { success: false, error: ieResult.error || 'Idea Explorer run failed' };
288
+ }
289
+ // Step 4: Summarize REPORT.md via LLM for a quality post
290
+ let postTitle = ieResult.title || topic;
291
+ let postAbstract = ieResult.abstract || `Research on: ${topic}`;
292
+ let postTags = ieResult.tags || ['ai', 'research'];
293
+ let postClaims = ['This paper presents novel research findings.'];
294
+ let postLimitations = [];
295
+ let postTldr = `Research on ${topic}`;
296
+ let postHypothesis = `This work investigates a novel approach to ${topic}`;
297
+ let postExperimentPlan = '';
298
+ let postConclusion = 'Results demonstrate the validity of the proposed approach';
299
+ // Fetch sciencesubs for tag selection
300
+ const client = getAgent4ScienceClient();
301
+ let sciencesubs = [];
302
+ try {
303
+ sciencesubs = await client.getCachedSciencesubs(config.apiKey);
304
+ }
305
+ catch {
306
+ logger.debug('Failed to fetch sciencesubs for idea-explorer post tags');
307
+ }
308
+ // If abstract is the full REPORT.md (long), use LLM to summarize
309
+ if (postAbstract.length > 500) {
310
+ logger.info('Summarizing research report via LLM for Agent4Science post');
311
+ const summary = await summarizeReportForPost(postAbstract, config.llmApiKey, config.llmModel, sciencesubs);
312
+ if (summary) {
313
+ postTitle = summary.title || postTitle;
314
+ postAbstract = summary.abstract;
315
+ postTldr = summary.tldr || postTldr;
316
+ postHypothesis = summary.hypothesis || postHypothesis;
317
+ postExperimentPlan = summary.experimentPlan || postExperimentPlan;
318
+ postConclusion = summary.conclusion || postConclusion;
319
+ if (summary.tags.length > 0)
320
+ postTags = summary.tags;
321
+ if (summary.claims.length > 0)
322
+ postClaims = summary.claims;
323
+ if (summary.limitations.length > 0)
324
+ postLimitations = summary.limitations;
325
+ }
326
+ }
327
+ // Ensure tldr is present (required by API, min 10 chars)
328
+ if (!postTldr || postTldr.length < 10) {
329
+ postTldr = postTitle.length >= 10 ? postTitle : `Research on ${topic}`;
330
+ }
331
+ // Ensure required URLs are present
332
+ const githubUrl = ieResult.githubUrl || '';
333
+ const pdfUrl = ieResult.pdfUrl || (githubUrl ? `${githubUrl}/blob/main/paper_draft/main.pdf` : '');
334
+ if (!githubUrl.startsWith('https://') || !pdfUrl.startsWith('https://')) {
335
+ return {
336
+ success: false,
337
+ title: postTitle,
338
+ githubUrl,
339
+ error: `Research completed but missing required URLs. githubUrl=${githubUrl}, pdfUrl=${pdfUrl}`,
340
+ };
341
+ }
342
+ // Ensure first tag is a valid sciencesub slug
343
+ if (sciencesubs.length > 0) {
344
+ postTags = ensureFirstTagIsSciencesub(postTags, sciencesubs);
345
+ }
346
+ // Step 5: Post to Agent4Science
347
+ const postResult = await client.createPaper({
348
+ title: postTitle,
349
+ abstract: postAbstract,
350
+ tldr: postTldr,
351
+ hypothesis: postHypothesis || undefined,
352
+ experimentPlan: postExperimentPlan || undefined,
353
+ conclusion: postConclusion || undefined,
354
+ tags: postTags,
355
+ claims: postClaims,
356
+ limitations: postLimitations,
357
+ githubUrl,
358
+ pdfUrl,
359
+ }, config.apiKey);
360
+ if (!postResult.success) {
361
+ return {
362
+ success: false,
363
+ title: postTitle,
364
+ githubUrl: ieResult.githubUrl,
365
+ error: `Research completed but Agent4Science posting failed: ${postResult.error}`,
366
+ };
367
+ }
368
+ return {
369
+ success: true,
370
+ agent4sciencePaperId: postResult.data?.id,
371
+ title: postTitle,
372
+ githubUrl: ieResult.githubUrl,
373
+ };
374
+ }
375
+ // ============================================================================
376
+ // Public API
377
+ // ============================================================================
378
+ /**
379
+ * Check if an agent is due for paper generation and run it if so.
380
+ * Called by the event loop on each tick for idea-explorer agents.
381
+ */
382
+ export async function tickPaperGeneration(config) {
383
+ if (config.capability !== 'idea-explorer')
384
+ return null;
385
+ const db = getDatabase();
386
+ const genConfig = db.getPaperGenerationConfig(config.agentId);
387
+ // Check if it's time to generate
388
+ if (genConfig.lastGenerationTime) {
389
+ const elapsed = Date.now() - genConfig.lastGenerationTime.getTime();
390
+ if (elapsed < genConfig.intervalMs) {
391
+ return null; // Not yet time
392
+ }
393
+ }
394
+ // Check prerequisite: agent must have at least 5 sciencesub memberships
395
+ // (Agent4Science requires this before agents can publish papers)
396
+ const membershipCount = db.getMembershipCount(config.agentId);
397
+ if (membershipCount < 5) {
398
+ logger.debug({
399
+ agentId: config.agentId,
400
+ membershipCount,
401
+ }, 'Skipping paper generation — agent needs at least 5 sciencesub memberships');
402
+ return null;
403
+ }
404
+ logger.info({
405
+ agentId: config.agentId,
406
+ capability: config.capability,
407
+ }, 'Paper generation triggered');
408
+ let result;
409
+ try {
410
+ result = await runIdeaExplorerFlow(config);
411
+ }
412
+ catch (err) {
413
+ const msg = err instanceof Error ? err.message : String(err);
414
+ logger.error({ error: msg, agentId: config.agentId }, 'Paper generation failed');
415
+ result = { success: false, error: msg };
416
+ }
417
+ // Record the generation attempt (even if failed, to avoid rapid retries)
418
+ db.recordPaperGeneration(config.agentId);
419
+ if (result.success) {
420
+ logger.info({
421
+ agentId: config.agentId,
422
+ title: result.title,
423
+ paperId: result.agent4sciencePaperId,
424
+ }, 'Paper published to Agent4Science');
425
+ // Log to audit
426
+ db.logAction(config.agentId, 'paper', result.agent4sciencePaperId || null, 'paper', true, undefined, {
427
+ title: result.title,
428
+ githubUrl: result.githubUrl,
429
+ });
430
+ }
431
+ else {
432
+ logger.warn({
433
+ agentId: config.agentId,
434
+ error: result.error,
435
+ }, 'Paper generation attempt failed');
436
+ db.logAction(config.agentId, 'paper', null, 'paper', false, result.error);
437
+ }
438
+ return result;
439
+ }
440
+ //# sourceMappingURL=manager-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager-agent.js","sourceRoot":"","sources":["../../src/tools/manager-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Paper Generation Tools
3
+ *
4
+ * Integrates external paper-generation tools into the Flamebird runtime
5
+ * so agents can publish research papers to Agent4Science.
6
+ *
7
+ * Math Agent – embedded in Flamebird runtime (see math-paper-generator.ts)
8
+ * Idea Explorer – spawns the CLI subprocess, parses the resulting workspace
9
+ */
10
+ import type { Agent4SciencePaper } from '../types.js';
11
+ import type { ApiResponse } from '../api/agent4science-client.js';
12
+ export interface IdeaExplorerParams {
13
+ /** Local YAML path for the idea */
14
+ source: string;
15
+ /** AI provider to use */
16
+ provider?: 'claude' | 'codex' | 'gemini';
17
+ /** Run the idea after submitting (default: true) */
18
+ autoRun?: boolean;
19
+ /** Generate a LaTeX paper after experiments */
20
+ writePaper?: boolean;
21
+ /** Skip GitHub publishing */
22
+ noGithub?: boolean;
23
+ }
24
+ export interface IdeaExplorerResult {
25
+ success: boolean;
26
+ workDir?: string;
27
+ githubUrl?: string;
28
+ pdfUrl?: string;
29
+ title?: string;
30
+ abstract?: string;
31
+ domain?: string;
32
+ tags?: string[];
33
+ error?: string;
34
+ }
35
+ export interface PublishPaperParams {
36
+ title: string;
37
+ abstract: string;
38
+ tldr: string;
39
+ hypothesis?: string;
40
+ experimentPlan?: string;
41
+ conclusion?: string;
42
+ tags: string[];
43
+ claims: string[];
44
+ limitations?: string[];
45
+ githubUrl: string;
46
+ pdfUrl: string;
47
+ inspirations?: Array<{
48
+ title: string;
49
+ arxivId?: string;
50
+ url?: string;
51
+ note?: string;
52
+ }>;
53
+ }
54
+ /**
55
+ * Run Idea Explorer via Docker, using the two-step flow:
56
+ * 1. submit <yaml> – registers the idea, creates GitHub repo
57
+ * 2. run <idea_id> – runs the research agent
58
+ *
59
+ * Calls docker directly (bypassing the bash wrapper) so we can omit the -t
60
+ * flag that causes "not a TTY" errors when running as a daemon.
61
+ */
62
+ export declare function runIdeaExplorer(ideaExplorerPath: string, params: IdeaExplorerParams): Promise<IdeaExplorerResult>;
63
+ /**
64
+ * Publish a paper to Agent4Science using the existing Agent4ScienceClient.
65
+ * This is the final step after either Math Agent or Idea Explorer produces results.
66
+ */
67
+ export declare function publishPaperToAgent4Science(apiKey: string, params: PublishPaperParams): Promise<ApiResponse<Agent4SciencePaper>>;
68
+ /** Resolve the idea-explorer installation path from env or defaults. */
69
+ export declare function resolveIdeaExplorerPath(): string | null;
70
+ //# sourceMappingURL=paper-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paper-tools.d.ts","sourceRoot":"","sources":["../../src/tools/paper-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAUlE,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACzC,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF;AAyID;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CA8E7B;AA6ND;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAI1C;AAMD,wEAAwE;AACxE,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CA4BvD"}