ralph-starter 0.0.1 → 0.1.1-beta.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.
- package/README.md +707 -17
- package/dist/auth/browser.d.ts +10 -0
- package/dist/auth/browser.d.ts.map +1 -0
- package/dist/auth/browser.js +56 -0
- package/dist/auth/browser.js.map +1 -0
- package/dist/auth/index.d.ts +5 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +5 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/oauth-server.d.ts +20 -0
- package/dist/auth/oauth-server.d.ts.map +1 -0
- package/dist/auth/oauth-server.js +168 -0
- package/dist/auth/oauth-server.js.map +1 -0
- package/dist/auth/pkce.d.ts +46 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +57 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/providers/base.d.ts +52 -0
- package/dist/auth/providers/base.d.ts.map +1 -0
- package/dist/auth/providers/base.js +70 -0
- package/dist/auth/providers/base.js.map +1 -0
- package/dist/auth/providers/index.d.ts +23 -0
- package/dist/auth/providers/index.d.ts.map +1 -0
- package/dist/auth/providers/index.js +39 -0
- package/dist/auth/providers/index.js.map +1 -0
- package/dist/auth/providers/linear.d.ts +37 -0
- package/dist/auth/providers/linear.d.ts.map +1 -0
- package/dist/auth/providers/linear.js +46 -0
- package/dist/auth/providers/linear.js.map +1 -0
- package/dist/auth/providers/notion.d.ts +36 -0
- package/dist/auth/providers/notion.d.ts.map +1 -0
- package/dist/auth/providers/notion.js +75 -0
- package/dist/auth/providers/notion.js.map +1 -0
- package/dist/auth/providers/todoist.d.ts +29 -0
- package/dist/auth/providers/todoist.d.ts.map +1 -0
- package/dist/auth/providers/todoist.js +40 -0
- package/dist/auth/providers/todoist.js.map +1 -0
- package/dist/automation/git.d.ts +15 -0
- package/dist/automation/git.d.ts.map +1 -0
- package/dist/automation/git.js +73 -0
- package/dist/automation/git.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +192 -19
- package/dist/cli.js.map +1 -0
- package/dist/commands/auth.d.ts +14 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +243 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/check.d.ts +12 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +124 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/config.d.ts +13 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +376 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/init.d.ts +31 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +353 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/integrations.d.ts +17 -0
- package/dist/commands/integrations.d.ts.map +1 -0
- package/dist/commands/integrations.js +193 -0
- package/dist/commands/integrations.js.map +1 -0
- package/dist/commands/plan.d.ts +5 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/plan.js +80 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/run.d.ts +26 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +351 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/scaffold.d.ts +9 -0
- package/dist/commands/scaffold.d.ts.map +1 -0
- package/dist/commands/scaffold.js +128 -0
- package/dist/commands/scaffold.js.map +1 -0
- package/dist/commands/setup.d.ts +12 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +27 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/skill.d.ts +6 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +151 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/source.d.ts +17 -0
- package/dist/commands/source.d.ts.map +1 -0
- package/dist/commands/source.js +173 -0
- package/dist/commands/source.js.map +1 -0
- package/dist/config/manager.d.ts +70 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +227 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -2
- package/dist/index.js.map +1 -0
- package/dist/integrations/_template/auth.d.ts +29 -0
- package/dist/integrations/_template/auth.d.ts.map +1 -0
- package/dist/integrations/_template/auth.js +42 -0
- package/dist/integrations/_template/auth.js.map +1 -0
- package/dist/integrations/_template/index.d.ts +8 -0
- package/dist/integrations/_template/index.d.ts.map +1 -0
- package/dist/integrations/_template/index.js +8 -0
- package/dist/integrations/_template/index.js.map +1 -0
- package/dist/integrations/_template/source.d.ts +34 -0
- package/dist/integrations/_template/source.d.ts.map +1 -0
- package/dist/integrations/_template/source.js +124 -0
- package/dist/integrations/_template/source.js.map +1 -0
- package/dist/integrations/base.d.ts +158 -0
- package/dist/integrations/base.d.ts.map +1 -0
- package/dist/integrations/base.js +109 -0
- package/dist/integrations/base.js.map +1 -0
- package/dist/integrations/github/index.d.ts +8 -0
- package/dist/integrations/github/index.d.ts.map +1 -0
- package/dist/integrations/github/index.js +8 -0
- package/dist/integrations/github/index.js.map +1 -0
- package/dist/integrations/github/source.d.ts +26 -0
- package/dist/integrations/github/source.d.ts.map +1 -0
- package/dist/integrations/github/source.js +190 -0
- package/dist/integrations/github/source.js.map +1 -0
- package/dist/integrations/index.d.ts +37 -0
- package/dist/integrations/index.d.ts.map +1 -0
- package/dist/integrations/index.js +71 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/linear/auth.d.ts +37 -0
- package/dist/integrations/linear/auth.d.ts.map +1 -0
- package/dist/integrations/linear/auth.js +45 -0
- package/dist/integrations/linear/auth.js.map +1 -0
- package/dist/integrations/linear/index.d.ts +9 -0
- package/dist/integrations/linear/index.d.ts.map +1 -0
- package/dist/integrations/linear/index.js +9 -0
- package/dist/integrations/linear/index.js.map +1 -0
- package/dist/integrations/linear/source.d.ts +26 -0
- package/dist/integrations/linear/source.d.ts.map +1 -0
- package/dist/integrations/linear/source.js +248 -0
- package/dist/integrations/linear/source.js.map +1 -0
- package/dist/integrations/notion/index.d.ts +8 -0
- package/dist/integrations/notion/index.d.ts.map +1 -0
- package/dist/integrations/notion/index.js +8 -0
- package/dist/integrations/notion/index.js.map +1 -0
- package/dist/integrations/notion/source.d.ts +53 -0
- package/dist/integrations/notion/source.d.ts.map +1 -0
- package/dist/integrations/notion/source.js +463 -0
- package/dist/integrations/notion/source.js.map +1 -0
- package/dist/llm/api.d.ts +29 -0
- package/dist/llm/api.d.ts.map +1 -0
- package/dist/llm/api.js +152 -0
- package/dist/llm/api.js.map +1 -0
- package/dist/llm/index.d.ts +7 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +7 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/providers.d.ts +24 -0
- package/dist/llm/providers.d.ts.map +1 -0
- package/dist/llm/providers.js +51 -0
- package/dist/llm/providers.js.map +1 -0
- package/dist/loop/__tests__/agents.test.d.ts +2 -0
- package/dist/loop/__tests__/agents.test.d.ts.map +1 -0
- package/dist/loop/__tests__/agents.test.js +183 -0
- package/dist/loop/__tests__/agents.test.js.map +1 -0
- package/dist/loop/__tests__/circuit-breaker.test.d.ts +2 -0
- package/dist/loop/__tests__/circuit-breaker.test.d.ts.map +1 -0
- package/dist/loop/__tests__/circuit-breaker.test.js +161 -0
- package/dist/loop/__tests__/circuit-breaker.test.js.map +1 -0
- package/dist/loop/__tests__/cost-tracker.test.d.ts +2 -0
- package/dist/loop/__tests__/cost-tracker.test.d.ts.map +1 -0
- package/dist/loop/__tests__/cost-tracker.test.js +200 -0
- package/dist/loop/__tests__/cost-tracker.test.js.map +1 -0
- package/dist/loop/__tests__/rate-limiter.test.d.ts +2 -0
- package/dist/loop/__tests__/rate-limiter.test.d.ts.map +1 -0
- package/dist/loop/__tests__/rate-limiter.test.js +198 -0
- package/dist/loop/__tests__/rate-limiter.test.js.map +1 -0
- package/dist/loop/__tests__/validation.test.d.ts +2 -0
- package/dist/loop/__tests__/validation.test.d.ts.map +1 -0
- package/dist/loop/__tests__/validation.test.js +234 -0
- package/dist/loop/__tests__/validation.test.js.map +1 -0
- package/dist/loop/agents.d.ts +26 -0
- package/dist/loop/agents.d.ts.map +1 -0
- package/dist/loop/agents.js +188 -0
- package/dist/loop/agents.js.map +1 -0
- package/dist/loop/circuit-breaker.d.ts +61 -0
- package/dist/loop/circuit-breaker.d.ts.map +1 -0
- package/dist/loop/circuit-breaker.js +143 -0
- package/dist/loop/circuit-breaker.js.map +1 -0
- package/dist/loop/cost-tracker.d.ts +90 -0
- package/dist/loop/cost-tracker.d.ts.map +1 -0
- package/dist/loop/cost-tracker.js +229 -0
- package/dist/loop/cost-tracker.js.map +1 -0
- package/dist/loop/estimator.d.ts +20 -0
- package/dist/loop/estimator.d.ts.map +1 -0
- package/dist/loop/estimator.js +123 -0
- package/dist/loop/estimator.js.map +1 -0
- package/dist/loop/executor.d.ts +44 -0
- package/dist/loop/executor.d.ts.map +1 -0
- package/dist/loop/executor.js +646 -0
- package/dist/loop/executor.js.map +1 -0
- package/dist/loop/progress.d.ts +34 -0
- package/dist/loop/progress.d.ts.map +1 -0
- package/dist/loop/progress.js +186 -0
- package/dist/loop/progress.js.map +1 -0
- package/dist/loop/rate-limiter.d.ts +71 -0
- package/dist/loop/rate-limiter.d.ts.map +1 -0
- package/dist/loop/rate-limiter.js +151 -0
- package/dist/loop/rate-limiter.js.map +1 -0
- package/dist/loop/semantic-analyzer.d.ts +33 -0
- package/dist/loop/semantic-analyzer.d.ts.map +1 -0
- package/dist/loop/semantic-analyzer.js +153 -0
- package/dist/loop/semantic-analyzer.js.map +1 -0
- package/dist/loop/skills.d.ts +29 -0
- package/dist/loop/skills.d.ts.map +1 -0
- package/dist/loop/skills.js +174 -0
- package/dist/loop/skills.js.map +1 -0
- package/dist/loop/step-detector.d.ts +17 -0
- package/dist/loop/step-detector.d.ts.map +1 -0
- package/dist/loop/step-detector.js +280 -0
- package/dist/loop/step-detector.js.map +1 -0
- package/dist/loop/task-counter.d.ts +41 -0
- package/dist/loop/task-counter.d.ts.map +1 -0
- package/dist/loop/task-counter.js +99 -0
- package/dist/loop/task-counter.js.map +1 -0
- package/dist/loop/validation.d.ts +28 -0
- package/dist/loop/validation.d.ts.map +1 -0
- package/dist/loop/validation.js +138 -0
- package/dist/loop/validation.js.map +1 -0
- package/dist/mcp/core/init.d.ts +15 -0
- package/dist/mcp/core/init.d.ts.map +1 -0
- package/dist/mcp/core/init.js +272 -0
- package/dist/mcp/core/init.js.map +1 -0
- package/dist/mcp/core/plan.d.ts +15 -0
- package/dist/mcp/core/plan.d.ts.map +1 -0
- package/dist/mcp/core/plan.js +90 -0
- package/dist/mcp/core/plan.js.map +1 -0
- package/dist/mcp/core/run.d.ts +26 -0
- package/dist/mcp/core/run.d.ts.map +1 -0
- package/dist/mcp/core/run.js +114 -0
- package/dist/mcp/core/run.js.map +1 -0
- package/dist/mcp/prompts.d.ts +10 -0
- package/dist/mcp/prompts.d.ts.map +1 -0
- package/dist/mcp/prompts.js +163 -0
- package/dist/mcp/prompts.js.map +1 -0
- package/dist/mcp/resources.d.ts +16 -0
- package/dist/mcp/resources.d.ts.map +1 -0
- package/dist/mcp/resources.js +114 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/server.d.ts +10 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +73 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +15 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +316 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/presets/index.d.ts +36 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +236 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/setup/agent-detector.d.ts +57 -0
- package/dist/setup/agent-detector.d.ts.map +1 -0
- package/dist/setup/agent-detector.js +170 -0
- package/dist/setup/agent-detector.js.map +1 -0
- package/dist/setup/index.d.ts +7 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +7 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/llm-tester.d.ts +33 -0
- package/dist/setup/llm-tester.d.ts.map +1 -0
- package/dist/setup/llm-tester.js +105 -0
- package/dist/setup/llm-tester.js.map +1 -0
- package/dist/setup/wizard.d.ts +19 -0
- package/dist/setup/wizard.d.ts.map +1 -0
- package/dist/setup/wizard.js +313 -0
- package/dist/setup/wizard.js.map +1 -0
- package/dist/sources/__tests__/file.test.d.ts +2 -0
- package/dist/sources/__tests__/file.test.d.ts.map +1 -0
- package/dist/sources/__tests__/file.test.js +126 -0
- package/dist/sources/__tests__/file.test.js.map +1 -0
- package/dist/sources/__tests__/github.test.d.ts +2 -0
- package/dist/sources/__tests__/github.test.d.ts.map +1 -0
- package/dist/sources/__tests__/github.test.js +157 -0
- package/dist/sources/__tests__/github.test.js.map +1 -0
- package/dist/sources/base.d.ts +72 -0
- package/dist/sources/base.d.ts.map +1 -0
- package/dist/sources/base.js +127 -0
- package/dist/sources/base.js.map +1 -0
- package/dist/sources/builtin/file.d.ts +21 -0
- package/dist/sources/builtin/file.d.ts.map +1 -0
- package/dist/sources/builtin/file.js +129 -0
- package/dist/sources/builtin/file.js.map +1 -0
- package/dist/sources/builtin/github-scraper.d.ts +65 -0
- package/dist/sources/builtin/github-scraper.d.ts.map +1 -0
- package/dist/sources/builtin/github-scraper.js +324 -0
- package/dist/sources/builtin/github-scraper.js.map +1 -0
- package/dist/sources/builtin/pdf.d.ts +24 -0
- package/dist/sources/builtin/pdf.d.ts.map +1 -0
- package/dist/sources/builtin/pdf.js +174 -0
- package/dist/sources/builtin/pdf.js.map +1 -0
- package/dist/sources/builtin/url.d.ts +47 -0
- package/dist/sources/builtin/url.d.ts.map +1 -0
- package/dist/sources/builtin/url.js +429 -0
- package/dist/sources/builtin/url.js.map +1 -0
- package/dist/sources/config.d.ts +72 -0
- package/dist/sources/config.d.ts.map +1 -0
- package/dist/sources/config.js +215 -0
- package/dist/sources/config.js.map +1 -0
- package/dist/sources/index.d.ts +47 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +210 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/sources/integrations/github.d.ts +24 -0
- package/dist/sources/integrations/github.d.ts.map +1 -0
- package/dist/sources/integrations/github.js +193 -0
- package/dist/sources/integrations/github.js.map +1 -0
- package/dist/sources/integrations/linear.d.ts +18 -0
- package/dist/sources/integrations/linear.d.ts.map +1 -0
- package/dist/sources/integrations/linear.js +197 -0
- package/dist/sources/integrations/linear.js.map +1 -0
- package/dist/sources/integrations/notion.d.ts +39 -0
- package/dist/sources/integrations/notion.d.ts.map +1 -0
- package/dist/sources/integrations/notion.js +343 -0
- package/dist/sources/integrations/notion.js.map +1 -0
- package/dist/sources/integrations/todoist.d.ts +18 -0
- package/dist/sources/integrations/todoist.d.ts.map +1 -0
- package/dist/sources/integrations/todoist.js +154 -0
- package/dist/sources/integrations/todoist.js.map +1 -0
- package/dist/sources/types.d.ts +106 -0
- package/dist/sources/types.d.ts.map +1 -0
- package/dist/sources/types.js +9 -0
- package/dist/sources/types.js.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/progress-renderer.d.ts +54 -0
- package/dist/ui/progress-renderer.d.ts.map +1 -0
- package/dist/ui/progress-renderer.js +118 -0
- package/dist/ui/progress-renderer.js.map +1 -0
- package/dist/ui/shimmer.d.ts +16 -0
- package/dist/ui/shimmer.d.ts.map +1 -0
- package/dist/ui/shimmer.js +31 -0
- package/dist/ui/shimmer.js.map +1 -0
- package/dist/wizard/ascii-art.d.ts +93 -0
- package/dist/wizard/ascii-art.d.ts.map +1 -0
- package/dist/wizard/ascii-art.js +378 -0
- package/dist/wizard/ascii-art.js.map +1 -0
- package/dist/wizard/idea-prompts.d.ts +18 -0
- package/dist/wizard/idea-prompts.d.ts.map +1 -0
- package/dist/wizard/idea-prompts.js +154 -0
- package/dist/wizard/idea-prompts.js.map +1 -0
- package/dist/wizard/idea-ui.d.ts +34 -0
- package/dist/wizard/idea-ui.d.ts.map +1 -0
- package/dist/wizard/idea-ui.js +225 -0
- package/dist/wizard/idea-ui.js.map +1 -0
- package/dist/wizard/ideas.d.ts +27 -0
- package/dist/wizard/ideas.d.ts.map +1 -0
- package/dist/wizard/ideas.js +511 -0
- package/dist/wizard/ideas.js.map +1 -0
- package/dist/wizard/index.d.ts +11 -0
- package/dist/wizard/index.d.ts.map +1 -0
- package/dist/wizard/index.js +472 -0
- package/dist/wizard/index.js.map +1 -0
- package/dist/wizard/llm.d.ts +14 -0
- package/dist/wizard/llm.d.ts.map +1 -0
- package/dist/wizard/llm.js +420 -0
- package/dist/wizard/llm.js.map +1 -0
- package/dist/wizard/prompts.d.ts +75 -0
- package/dist/wizard/prompts.d.ts.map +1 -0
- package/dist/wizard/prompts.js +455 -0
- package/dist/wizard/prompts.js.map +1 -0
- package/dist/wizard/spec-generator.d.ts +14 -0
- package/dist/wizard/spec-generator.d.ts.map +1 -0
- package/dist/wizard/spec-generator.js +200 -0
- package/dist/wizard/spec-generator.js.map +1 -0
- package/dist/wizard/types.d.ts +53 -0
- package/dist/wizard/types.d.ts.map +1 -0
- package/dist/wizard/types.js +10 -0
- package/dist/wizard/types.js.map +1 -0
- package/dist/wizard/ui.d.ts +57 -0
- package/dist/wizard/ui.d.ts.map +1 -0
- package/dist/wizard/ui.js +211 -0
- package/dist/wizard/ui.js.map +1 -0
- package/package.json +59 -8
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { homedir } from 'node:os';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import inquirer from 'inquirer';
|
|
6
|
+
import { detectProviderFromEnv, getProviderKeyFromEnv, PROVIDER_NAMES, PROVIDERS, } from '../llm/index.js';
|
|
7
|
+
const CONFIG_DIR = join(homedir(), '.ralph-starter');
|
|
8
|
+
const CONFIG_FILE = join(CONFIG_DIR, 'config.json');
|
|
9
|
+
export function ensureConfigDir() {
|
|
10
|
+
if (!existsSync(CONFIG_DIR)) {
|
|
11
|
+
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export function readConfig() {
|
|
15
|
+
ensureConfigDir();
|
|
16
|
+
if (!existsSync(CONFIG_FILE)) {
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
const content = readFileSync(CONFIG_FILE, 'utf-8');
|
|
21
|
+
return JSON.parse(content);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export function writeConfig(config) {
|
|
28
|
+
ensureConfigDir();
|
|
29
|
+
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2));
|
|
30
|
+
}
|
|
31
|
+
export async function getApiKey() {
|
|
32
|
+
// 1. Check CLI flag (handled by caller)
|
|
33
|
+
// 2. Check environment variable
|
|
34
|
+
if (process.env.ANTHROPIC_API_KEY) {
|
|
35
|
+
return process.env.ANTHROPIC_API_KEY;
|
|
36
|
+
}
|
|
37
|
+
// 3. Check config file
|
|
38
|
+
const config = readConfig();
|
|
39
|
+
if (config.apiKey) {
|
|
40
|
+
return config.apiKey;
|
|
41
|
+
}
|
|
42
|
+
// 4. Prompt user
|
|
43
|
+
return promptForApiKey();
|
|
44
|
+
}
|
|
45
|
+
export async function promptForApiKey() {
|
|
46
|
+
console.log();
|
|
47
|
+
console.log(chalk.yellow('No API key found.'));
|
|
48
|
+
console.log(chalk.dim('You can get one at: https://console.anthropic.com/'));
|
|
49
|
+
console.log();
|
|
50
|
+
const { apiKey } = await inquirer.prompt([
|
|
51
|
+
{
|
|
52
|
+
type: 'password',
|
|
53
|
+
name: 'apiKey',
|
|
54
|
+
message: 'Enter your Anthropic API key:',
|
|
55
|
+
mask: '*',
|
|
56
|
+
},
|
|
57
|
+
]);
|
|
58
|
+
if (!apiKey) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
const { save } = await inquirer.prompt([
|
|
62
|
+
{
|
|
63
|
+
type: 'confirm',
|
|
64
|
+
name: 'save',
|
|
65
|
+
message: 'Save this API key for future use?',
|
|
66
|
+
default: true,
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
69
|
+
if (save) {
|
|
70
|
+
const config = readConfig();
|
|
71
|
+
config.apiKey = apiKey;
|
|
72
|
+
writeConfig(config);
|
|
73
|
+
console.log(chalk.green(`API key saved to ${CONFIG_FILE}`));
|
|
74
|
+
}
|
|
75
|
+
return apiKey;
|
|
76
|
+
}
|
|
77
|
+
export async function isClaudeCliInstalled() {
|
|
78
|
+
try {
|
|
79
|
+
const { execa } = await import('execa');
|
|
80
|
+
await execa('claude', ['--version']);
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get the configured LLM provider
|
|
89
|
+
* Priority: config file > auto-detect from env > default (anthropic)
|
|
90
|
+
*/
|
|
91
|
+
export function getLLMProvider() {
|
|
92
|
+
const config = readConfig();
|
|
93
|
+
// Check explicit config
|
|
94
|
+
if (config.llm?.provider) {
|
|
95
|
+
return config.llm.provider;
|
|
96
|
+
}
|
|
97
|
+
// Auto-detect from environment
|
|
98
|
+
const detected = detectProviderFromEnv();
|
|
99
|
+
if (detected) {
|
|
100
|
+
return detected;
|
|
101
|
+
}
|
|
102
|
+
// Default to anthropic
|
|
103
|
+
return 'anthropic';
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Get API key for a specific provider
|
|
107
|
+
* Priority: env var > config file providers.X.apiKey > legacy apiKey (for anthropic)
|
|
108
|
+
*/
|
|
109
|
+
export function getLLMApiKey(provider) {
|
|
110
|
+
// Check environment variable first
|
|
111
|
+
const envKey = getProviderKeyFromEnv(provider);
|
|
112
|
+
if (envKey) {
|
|
113
|
+
return envKey;
|
|
114
|
+
}
|
|
115
|
+
// Check config file
|
|
116
|
+
const config = readConfig();
|
|
117
|
+
// Check new providers.X.apiKey format
|
|
118
|
+
const providerKey = config.providers?.[provider]?.apiKey;
|
|
119
|
+
if (providerKey) {
|
|
120
|
+
return providerKey;
|
|
121
|
+
}
|
|
122
|
+
// Legacy: check apiKey for anthropic
|
|
123
|
+
if (provider === 'anthropic' && config.apiKey) {
|
|
124
|
+
return config.apiKey;
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get API key silently (no prompt) - for wizard use
|
|
130
|
+
* Returns provider and key, or null if none available
|
|
131
|
+
*/
|
|
132
|
+
export function getConfiguredLLM() {
|
|
133
|
+
// Try configured provider first
|
|
134
|
+
const config = readConfig();
|
|
135
|
+
if (config.llm?.provider) {
|
|
136
|
+
const key = getLLMApiKey(config.llm.provider);
|
|
137
|
+
if (key) {
|
|
138
|
+
return { provider: config.llm.provider, apiKey: key };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Auto-detect from environment
|
|
142
|
+
for (const provider of PROVIDER_NAMES) {
|
|
143
|
+
const key = getLLMApiKey(provider);
|
|
144
|
+
if (key) {
|
|
145
|
+
return { provider, apiKey: key };
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Set LLM provider in config
|
|
152
|
+
*/
|
|
153
|
+
export function setLLMProvider(provider) {
|
|
154
|
+
const config = readConfig();
|
|
155
|
+
config.llm = { ...config.llm, provider };
|
|
156
|
+
writeConfig(config);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Set API key for a provider
|
|
160
|
+
*/
|
|
161
|
+
export function setLLMApiKey(provider, apiKey) {
|
|
162
|
+
const config = readConfig();
|
|
163
|
+
if (!config.providers) {
|
|
164
|
+
config.providers = {};
|
|
165
|
+
}
|
|
166
|
+
config.providers[provider] = { apiKey };
|
|
167
|
+
writeConfig(config);
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Get configured model for LLM
|
|
171
|
+
*/
|
|
172
|
+
export function getLLMModel() {
|
|
173
|
+
const config = readConfig();
|
|
174
|
+
return config.llm?.model || config.defaultModel || null;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Interactive prompt for LLM provider selection and API key
|
|
178
|
+
*/
|
|
179
|
+
export async function promptForLLMSetup() {
|
|
180
|
+
console.log();
|
|
181
|
+
console.log(chalk.yellow('No LLM API key configured.'));
|
|
182
|
+
console.log();
|
|
183
|
+
// Provider selection
|
|
184
|
+
const { provider } = await inquirer.prompt([
|
|
185
|
+
{
|
|
186
|
+
type: 'list',
|
|
187
|
+
name: 'provider',
|
|
188
|
+
message: 'Choose your LLM provider:',
|
|
189
|
+
choices: PROVIDER_NAMES.map((p) => ({
|
|
190
|
+
name: PROVIDERS[p].displayName,
|
|
191
|
+
value: p,
|
|
192
|
+
})),
|
|
193
|
+
},
|
|
194
|
+
]);
|
|
195
|
+
const providerConfig = PROVIDERS[provider];
|
|
196
|
+
console.log();
|
|
197
|
+
console.log(chalk.dim(`Get your API key at: ${providerConfig.consoleUrl}`));
|
|
198
|
+
console.log();
|
|
199
|
+
// API key input
|
|
200
|
+
const { apiKey } = await inquirer.prompt([
|
|
201
|
+
{
|
|
202
|
+
type: 'password',
|
|
203
|
+
name: 'apiKey',
|
|
204
|
+
message: `Enter your ${providerConfig.displayName} API key:`,
|
|
205
|
+
mask: '*',
|
|
206
|
+
},
|
|
207
|
+
]);
|
|
208
|
+
if (!apiKey) {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
// Save option
|
|
212
|
+
const { save } = await inquirer.prompt([
|
|
213
|
+
{
|
|
214
|
+
type: 'confirm',
|
|
215
|
+
name: 'save',
|
|
216
|
+
message: 'Save this configuration for future use?',
|
|
217
|
+
default: true,
|
|
218
|
+
},
|
|
219
|
+
]);
|
|
220
|
+
if (save) {
|
|
221
|
+
setLLMProvider(provider);
|
|
222
|
+
setLLMApiKey(provider, apiKey);
|
|
223
|
+
console.log(chalk.green(`Configuration saved to ${CONFIG_FILE}`));
|
|
224
|
+
}
|
|
225
|
+
return { provider: provider, apiKey };
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/config/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const version = "0.1.0";
|
|
2
|
+
export declare const name = "ralph-starter";
|
|
3
|
+
export { createPullRequest, gitCommit, gitPush, isGitRepo } from './automation/git.js';
|
|
4
|
+
export { configCommand } from './commands/config.js';
|
|
5
|
+
export { initCommand } from './commands/init.js';
|
|
6
|
+
export { planCommand } from './commands/plan.js';
|
|
7
|
+
export { runCommand } from './commands/run.js';
|
|
8
|
+
export { skillCommand } from './commands/skill.js';
|
|
9
|
+
export { sourceCommand } from './commands/source.js';
|
|
10
|
+
export { getApiKey, readConfig, writeConfig } from './config/manager.js';
|
|
11
|
+
export type { Agent, AgentType } from './loop/agents.js';
|
|
12
|
+
export { detectAvailableAgents, detectBestAgent } from './loop/agents.js';
|
|
13
|
+
export { runLoop } from './loop/executor.js';
|
|
14
|
+
export { detectValidationCommands, runAllValidations, runValidation } from './loop/validation.js';
|
|
15
|
+
export type { InitCoreOptions, InitCoreResult } from './mcp/core/init.js';
|
|
16
|
+
export { initCore } from './mcp/core/init.js';
|
|
17
|
+
export type { PlanCoreOptions, PlanCoreResult } from './mcp/core/plan.js';
|
|
18
|
+
export { planCore } from './mcp/core/plan.js';
|
|
19
|
+
export type { RunCoreOptions, RunCoreResult } from './mcp/core/run.js';
|
|
20
|
+
export { runCore } from './mcp/core/run.js';
|
|
21
|
+
export { createMcpServer, startMcpServer } from './mcp/server.js';
|
|
22
|
+
export { detectSource, fetchFromSource, getAllSources, getSource, getSourceHelp, getSourcesInfo, testSource, } from './sources/index.js';
|
|
23
|
+
export type { InputSource, SourceInfo, SourceOptions, SourceResult } from './sources/types.js';
|
|
24
|
+
export { runIdeaMode, runWizard } from './wizard/index.js';
|
|
25
|
+
export type { IdeaContext, IdeaDiscoveryMethod, IdeaSuggestion } from './wizard/types.js';
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,IAAI,kBAAkB,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
-
// ralph-starter -
|
|
2
|
-
export const version = '0.0
|
|
1
|
+
// ralph-starter - Ralph Wiggum made easy
|
|
2
|
+
export const version = '0.1.0';
|
|
3
3
|
export const name = 'ralph-starter';
|
|
4
|
+
// Automation
|
|
5
|
+
export { createPullRequest, gitCommit, gitPush, isGitRepo } from './automation/git.js';
|
|
6
|
+
export { configCommand } from './commands/config.js';
|
|
7
|
+
export { initCommand } from './commands/init.js';
|
|
8
|
+
export { planCommand } from './commands/plan.js';
|
|
9
|
+
// Commands
|
|
10
|
+
export { runCommand } from './commands/run.js';
|
|
11
|
+
export { skillCommand } from './commands/skill.js';
|
|
12
|
+
export { sourceCommand } from './commands/source.js';
|
|
13
|
+
// Config
|
|
14
|
+
export { getApiKey, readConfig, writeConfig } from './config/manager.js';
|
|
15
|
+
export { detectAvailableAgents, detectBestAgent } from './loop/agents.js';
|
|
16
|
+
// Loop
|
|
17
|
+
export { runLoop } from './loop/executor.js';
|
|
18
|
+
export { detectValidationCommands, runAllValidations, runValidation } from './loop/validation.js';
|
|
19
|
+
export { initCore } from './mcp/core/init.js';
|
|
20
|
+
export { planCore } from './mcp/core/plan.js';
|
|
21
|
+
export { runCore } from './mcp/core/run.js';
|
|
22
|
+
// MCP
|
|
23
|
+
export { createMcpServer, startMcpServer } from './mcp/server.js';
|
|
24
|
+
// Sources
|
|
25
|
+
export { detectSource, fetchFromSource, getAllSources, getSource, getSourceHelp, getSourcesInfo, testSource, } from './sources/index.js';
|
|
26
|
+
// Wizard
|
|
27
|
+
export { runIdeaMode, runWizard } from './wizard/index.js';
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,eAAe,CAAC;AAEpC,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,WAAW;AACX,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO;AACP,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,MAAM;AACN,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,UAAU;AACV,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template OAuth Provider (Optional)
|
|
3
|
+
*
|
|
4
|
+
* Only needed if your integration uses OAuth authentication.
|
|
5
|
+
* Delete this file if using API key or CLI authentication.
|
|
6
|
+
*
|
|
7
|
+
* To set up OAuth:
|
|
8
|
+
* 1. Register an OAuth app with the service
|
|
9
|
+
* 2. Get Client ID (and Client Secret if not using PKCE)
|
|
10
|
+
* 3. Configure redirect URI: http://127.0.0.1:52847/callback
|
|
11
|
+
*/
|
|
12
|
+
import { BaseOAuthProvider } from '../../auth/providers/base.js';
|
|
13
|
+
export declare class TemplateOAuthProvider extends BaseOAuthProvider {
|
|
14
|
+
name: string;
|
|
15
|
+
displayName: string;
|
|
16
|
+
authorizationUrl: string;
|
|
17
|
+
tokenUrl: string;
|
|
18
|
+
scopes: string[];
|
|
19
|
+
clientId: string;
|
|
20
|
+
clientSecret: string | undefined;
|
|
21
|
+
supportsPKCE: boolean;
|
|
22
|
+
authParams: {};
|
|
23
|
+
/**
|
|
24
|
+
* Check if OAuth is configured
|
|
25
|
+
*/
|
|
26
|
+
isConfigured(): boolean;
|
|
27
|
+
}
|
|
28
|
+
export declare const templateProvider: TemplateOAuthProvider;
|
|
29
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/integrations/_template/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,IAAI,SAAc;IAClB,WAAW,SAAsB;IAGjC,gBAAgB,SAAyC;IACzD,QAAQ,SAAyC;IAGjD,MAAM,WAAY;IAGlB,QAAQ,SAA8C;IAGtD,YAAY,qBAA4C;IAGxD,YAAY,UAAS;IAGrB,UAAU,KAER;IAEF;;OAEG;IACH,YAAY,IAAI,OAAO;CAMxB;AAED,eAAO,MAAM,gBAAgB,uBAA8B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template OAuth Provider (Optional)
|
|
3
|
+
*
|
|
4
|
+
* Only needed if your integration uses OAuth authentication.
|
|
5
|
+
* Delete this file if using API key or CLI authentication.
|
|
6
|
+
*
|
|
7
|
+
* To set up OAuth:
|
|
8
|
+
* 1. Register an OAuth app with the service
|
|
9
|
+
* 2. Get Client ID (and Client Secret if not using PKCE)
|
|
10
|
+
* 3. Configure redirect URI: http://127.0.0.1:52847/callback
|
|
11
|
+
*/
|
|
12
|
+
import { BaseOAuthProvider } from '../../auth/providers/base.js';
|
|
13
|
+
export class TemplateOAuthProvider extends BaseOAuthProvider {
|
|
14
|
+
name = 'template';
|
|
15
|
+
displayName = 'Template Service';
|
|
16
|
+
// OAuth endpoints - update for your service
|
|
17
|
+
authorizationUrl = 'https://example.com/oauth/authorize';
|
|
18
|
+
tokenUrl = 'https://api.example.com/oauth/token';
|
|
19
|
+
// Required scopes
|
|
20
|
+
scopes = ['read'];
|
|
21
|
+
// Client ID from environment variable
|
|
22
|
+
clientId = process.env.RALPH_TEMPLATE_CLIENT_ID || '';
|
|
23
|
+
// Client secret (optional if using PKCE)
|
|
24
|
+
clientSecret = process.env.RALPH_TEMPLATE_CLIENT_SECRET;
|
|
25
|
+
// Set to true if the service supports PKCE (no client secret needed)
|
|
26
|
+
supportsPKCE = false;
|
|
27
|
+
// Additional auth URL parameters (optional)
|
|
28
|
+
authParams = {
|
|
29
|
+
// prompt: 'consent',
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Check if OAuth is configured
|
|
33
|
+
*/
|
|
34
|
+
isConfigured() {
|
|
35
|
+
if (this.supportsPKCE) {
|
|
36
|
+
return !!this.clientId;
|
|
37
|
+
}
|
|
38
|
+
return !!this.clientId && !!this.clientSecret;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export const templateProvider = new TemplateOAuthProvider();
|
|
42
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/integrations/_template/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAC1D,IAAI,GAAG,UAAU,CAAC;IAClB,WAAW,GAAG,kBAAkB,CAAC;IAEjC,4CAA4C;IAC5C,gBAAgB,GAAG,qCAAqC,CAAC;IACzD,QAAQ,GAAG,qCAAqC,CAAC;IAEjD,kBAAkB;IAClB,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;IAElB,sCAAsC;IACtC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC;IAEtD,yCAAyC;IACzC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC;IAExD,qEAAqE;IACrE,YAAY,GAAG,KAAK,CAAC;IAErB,4CAA4C;IAC5C,UAAU,GAAG;IACX,qBAAqB;KACtB,CAAC;IAEF;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;IAChD,CAAC;CACF;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,qBAAqB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/_template/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/_template/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Integration Source
|
|
3
|
+
*
|
|
4
|
+
* This file contains the main data fetching logic.
|
|
5
|
+
* Rename this class and update all the properties.
|
|
6
|
+
*/
|
|
7
|
+
import { type AuthMethod, BaseIntegration, type IntegrationOptions, type IntegrationResult } from '../base.js';
|
|
8
|
+
export declare class TemplateIntegration extends BaseIntegration {
|
|
9
|
+
name: string;
|
|
10
|
+
displayName: string;
|
|
11
|
+
description: string;
|
|
12
|
+
website: string;
|
|
13
|
+
authMethods: AuthMethod[];
|
|
14
|
+
/**
|
|
15
|
+
* Check if CLI tool is available and authenticated
|
|
16
|
+
* Only implement if authMethods includes 'cli'
|
|
17
|
+
*/
|
|
18
|
+
protected isCliAvailable(): Promise<boolean>;
|
|
19
|
+
fetch(identifier: string, options?: IntegrationOptions): Promise<IntegrationResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Fetch via CLI tool
|
|
22
|
+
*/
|
|
23
|
+
private fetchViaCli;
|
|
24
|
+
/**
|
|
25
|
+
* Fetch via API
|
|
26
|
+
*/
|
|
27
|
+
private fetchViaApi;
|
|
28
|
+
/**
|
|
29
|
+
* Format API results to markdown
|
|
30
|
+
*/
|
|
31
|
+
private formatResults;
|
|
32
|
+
getHelp(): string;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/integrations/_template/source.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,eAAe,EACf,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,SAAQ,eAAe;IAKtD,IAAI,SAAc;IAClB,WAAW,SAAsB;IACjC,WAAW,SAAsC;IACjD,OAAO,SAAyB;IAGhC,WAAW,EAAE,UAAU,EAAE,CAAe;IAMxC;;;OAGG;cACa,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB5C,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAkBzF;;OAEG;YACW,WAAW;IAazB;;OAEG;YACW,WAAW;IAyBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB,OAAO,IAAI,MAAM;CAoBlB"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template Integration Source
|
|
3
|
+
*
|
|
4
|
+
* This file contains the main data fetching logic.
|
|
5
|
+
* Rename this class and update all the properties.
|
|
6
|
+
*/
|
|
7
|
+
import { BaseIntegration, } from '../base.js';
|
|
8
|
+
export class TemplateIntegration extends BaseIntegration {
|
|
9
|
+
// ============================================
|
|
10
|
+
// Required properties - update these
|
|
11
|
+
// ============================================
|
|
12
|
+
name = 'template';
|
|
13
|
+
displayName = 'Template Service';
|
|
14
|
+
description = 'Fetch data from Template Service';
|
|
15
|
+
website = 'https://example.com';
|
|
16
|
+
// Supported auth methods: 'cli' | 'api-key' | 'oauth' | 'none'
|
|
17
|
+
authMethods = ['api-key'];
|
|
18
|
+
// ============================================
|
|
19
|
+
// Optional: CLI authentication
|
|
20
|
+
// ============================================
|
|
21
|
+
/**
|
|
22
|
+
* Check if CLI tool is available and authenticated
|
|
23
|
+
* Only implement if authMethods includes 'cli'
|
|
24
|
+
*/
|
|
25
|
+
async isCliAvailable() {
|
|
26
|
+
// Example: Check if a CLI is installed and authenticated
|
|
27
|
+
// try {
|
|
28
|
+
// const { execa } = await import('execa');
|
|
29
|
+
// await execa('your-cli', ['auth', 'status']);
|
|
30
|
+
// return true;
|
|
31
|
+
// } catch {
|
|
32
|
+
// return false;
|
|
33
|
+
// }
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
// ============================================
|
|
37
|
+
// Main fetch method
|
|
38
|
+
// ============================================
|
|
39
|
+
async fetch(identifier, options) {
|
|
40
|
+
// Get authentication
|
|
41
|
+
const authMethod = await this.getConfiguredAuthMethod();
|
|
42
|
+
if (!authMethod) {
|
|
43
|
+
this.error('No authentication configured. Run: ralph-starter config set template.apiKey <key>');
|
|
44
|
+
}
|
|
45
|
+
// Fetch data based on auth method
|
|
46
|
+
if (authMethod === 'cli') {
|
|
47
|
+
return this.fetchViaCli(identifier, options);
|
|
48
|
+
}
|
|
49
|
+
return this.fetchViaApi(identifier, options);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Fetch via CLI tool
|
|
53
|
+
*/
|
|
54
|
+
async fetchViaCli(_identifier, _options) {
|
|
55
|
+
// Example implementation:
|
|
56
|
+
// const { execa } = await import('execa');
|
|
57
|
+
// const result = await execa('your-cli', ['list', identifier, '--json']);
|
|
58
|
+
// const data = JSON.parse(result.stdout);
|
|
59
|
+
// return this.formatResults(data);
|
|
60
|
+
throw new Error('CLI fetch not implemented');
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Fetch via API
|
|
64
|
+
*/
|
|
65
|
+
async fetchViaApi(identifier, _options) {
|
|
66
|
+
const apiKey = await this.getApiKey();
|
|
67
|
+
// Example: Make API request
|
|
68
|
+
const response = await fetch(`https://api.example.com/data/${identifier}`, {
|
|
69
|
+
headers: {
|
|
70
|
+
Authorization: `Bearer ${apiKey}`,
|
|
71
|
+
Accept: 'application/json',
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
if (!response.ok) {
|
|
75
|
+
if (response.status === 401) {
|
|
76
|
+
this.error('Invalid API key. Run: ralph-starter config set template.apiKey <key>');
|
|
77
|
+
}
|
|
78
|
+
this.error(`API error: ${response.status} ${response.statusText}`);
|
|
79
|
+
}
|
|
80
|
+
const data = await response.json();
|
|
81
|
+
return this.formatResults(data, identifier);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Format API results to markdown
|
|
85
|
+
*/
|
|
86
|
+
formatResults(data, identifier) {
|
|
87
|
+
const sections = [`# ${identifier}\n`];
|
|
88
|
+
// Format your data here
|
|
89
|
+
sections.push('*Add your formatting logic*');
|
|
90
|
+
return {
|
|
91
|
+
content: sections.join('\n'),
|
|
92
|
+
source: `template:${identifier}`,
|
|
93
|
+
title: identifier,
|
|
94
|
+
metadata: {
|
|
95
|
+
type: 'template',
|
|
96
|
+
count: data.length,
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// ============================================
|
|
101
|
+
// Help text
|
|
102
|
+
// ============================================
|
|
103
|
+
getHelp() {
|
|
104
|
+
return `
|
|
105
|
+
template: Fetch data from Template Service
|
|
106
|
+
|
|
107
|
+
Usage:
|
|
108
|
+
ralph-starter run --from template --project "project-name"
|
|
109
|
+
|
|
110
|
+
Options:
|
|
111
|
+
--project Project name or identifier
|
|
112
|
+
--label Filter by label (optional)
|
|
113
|
+
--limit Maximum items to fetch (default: 20)
|
|
114
|
+
|
|
115
|
+
Setup:
|
|
116
|
+
1. Get API key from: https://example.com/settings/api
|
|
117
|
+
2. Run: ralph-starter config set template.apiKey <key>
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
ralph-starter run --from template --project "my-project"
|
|
121
|
+
`.trim();
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/integrations/_template/source.ts"],"names":[],"mappings":"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"}
|