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,429 @@
|
|
|
1
|
+
import { BuiltinSource } from '../base.js';
|
|
2
|
+
import { detectGitHubUrl, fileToMarkdown, issueListToMarkdown, issueToMarkdown, parseGitHubBlob, parseGitHubIssue, parseGitHubIssueList, } from './github-scraper.js';
|
|
3
|
+
/**
|
|
4
|
+
* URL source - fetches specs from remote URLs
|
|
5
|
+
*
|
|
6
|
+
* Supports:
|
|
7
|
+
* - Raw markdown files (GitHub raw, etc.)
|
|
8
|
+
* - HTML pages (basic conversion)
|
|
9
|
+
* - JSON responses
|
|
10
|
+
* - GitHub issues and files (specialized parsing)
|
|
11
|
+
* - Notion public pages (specialized parsing)
|
|
12
|
+
*/
|
|
13
|
+
export class UrlSource extends BuiltinSource {
|
|
14
|
+
name = 'url';
|
|
15
|
+
description = 'Fetch specs from remote URLs';
|
|
16
|
+
async isAvailable() {
|
|
17
|
+
return true; // Always available
|
|
18
|
+
}
|
|
19
|
+
async fetch(identifier, options) {
|
|
20
|
+
// Validate URL
|
|
21
|
+
let url;
|
|
22
|
+
try {
|
|
23
|
+
url = new URL(identifier);
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
this.error(`Invalid URL: ${identifier}`);
|
|
27
|
+
}
|
|
28
|
+
// Check for GitHub URL - use specialized parsing
|
|
29
|
+
const githubInfo = detectGitHubUrl(url);
|
|
30
|
+
if (githubInfo.type && githubInfo.type !== 'raw') {
|
|
31
|
+
return this.fetchGitHub(url, githubInfo, options);
|
|
32
|
+
}
|
|
33
|
+
// Check for Notion public page
|
|
34
|
+
if (this.isNotionUrl(url)) {
|
|
35
|
+
return this.fetchNotion(url, options);
|
|
36
|
+
}
|
|
37
|
+
// Fetch content
|
|
38
|
+
const headers = {
|
|
39
|
+
'User-Agent': 'ralph-starter/0.1.0',
|
|
40
|
+
Accept: 'text/plain, text/markdown, text/html, application/json',
|
|
41
|
+
...options?.headers,
|
|
42
|
+
};
|
|
43
|
+
const response = await fetch(identifier, { headers });
|
|
44
|
+
if (!response.ok) {
|
|
45
|
+
this.error(`HTTP error ${response.status}: ${response.statusText}`);
|
|
46
|
+
}
|
|
47
|
+
const contentType = response.headers.get('content-type') || '';
|
|
48
|
+
const content = await response.text();
|
|
49
|
+
// Determine format and convert if needed
|
|
50
|
+
let markdown;
|
|
51
|
+
let format;
|
|
52
|
+
if (this.isMarkdown(identifier, contentType)) {
|
|
53
|
+
markdown = content;
|
|
54
|
+
format = 'markdown';
|
|
55
|
+
}
|
|
56
|
+
else if (contentType.includes('application/json')) {
|
|
57
|
+
markdown = this.jsonToMarkdown(content, url.pathname);
|
|
58
|
+
format = 'json';
|
|
59
|
+
}
|
|
60
|
+
else if (contentType.includes('text/html')) {
|
|
61
|
+
markdown = this.htmlToMarkdown(content);
|
|
62
|
+
format = 'html';
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// Assume plain text/markdown
|
|
66
|
+
markdown = content;
|
|
67
|
+
format = 'text';
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
content: markdown,
|
|
71
|
+
source: identifier,
|
|
72
|
+
title: this.getTitleFromUrl(url),
|
|
73
|
+
metadata: {
|
|
74
|
+
type: 'url',
|
|
75
|
+
contentType,
|
|
76
|
+
format,
|
|
77
|
+
statusCode: response.status,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Fetch and parse GitHub URLs (issues, blobs, etc.)
|
|
83
|
+
*/
|
|
84
|
+
async fetchGitHub(url, githubInfo, options) {
|
|
85
|
+
const headers = {
|
|
86
|
+
'User-Agent': 'ralph-starter/0.1.0',
|
|
87
|
+
Accept: 'text/html',
|
|
88
|
+
...options?.headers,
|
|
89
|
+
};
|
|
90
|
+
const response = await fetch(url.toString(), { headers });
|
|
91
|
+
if (!response.ok) {
|
|
92
|
+
this.error(`GitHub HTTP error ${response.status}: ${response.statusText}`);
|
|
93
|
+
}
|
|
94
|
+
const html = await response.text();
|
|
95
|
+
if (githubInfo.type === 'issue' && githubInfo.match) {
|
|
96
|
+
const [, owner, repo, issueNum] = githubInfo.match;
|
|
97
|
+
const issue = parseGitHubIssue(html, parseInt(issueNum, 10));
|
|
98
|
+
return {
|
|
99
|
+
content: issueToMarkdown(issue),
|
|
100
|
+
source: url.toString(),
|
|
101
|
+
title: `${issue.title} (#${issue.number})`,
|
|
102
|
+
metadata: {
|
|
103
|
+
type: 'github',
|
|
104
|
+
format: 'issue',
|
|
105
|
+
owner,
|
|
106
|
+
repo,
|
|
107
|
+
issueNumber: issue.number,
|
|
108
|
+
state: issue.state,
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
if (githubInfo.type === 'issues' && githubInfo.match) {
|
|
113
|
+
const [, owner, repo] = githubInfo.match;
|
|
114
|
+
const { issues } = parseGitHubIssueList(html, owner, repo);
|
|
115
|
+
return {
|
|
116
|
+
content: issueListToMarkdown(issues, owner, repo),
|
|
117
|
+
source: url.toString(),
|
|
118
|
+
title: `Issues: ${owner}/${repo}`,
|
|
119
|
+
metadata: {
|
|
120
|
+
type: 'github',
|
|
121
|
+
format: 'issue-list',
|
|
122
|
+
owner,
|
|
123
|
+
repo,
|
|
124
|
+
count: issues.length,
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
if (githubInfo.type === 'blob' && githubInfo.match) {
|
|
129
|
+
const [, owner, repo, branch, filepath] = githubInfo.match;
|
|
130
|
+
const file = parseGitHubBlob(html, filepath);
|
|
131
|
+
// For markdown files, just return the content directly
|
|
132
|
+
if (file.language === 'markdown') {
|
|
133
|
+
return {
|
|
134
|
+
content: file.content,
|
|
135
|
+
source: url.toString(),
|
|
136
|
+
title: filepath,
|
|
137
|
+
metadata: {
|
|
138
|
+
type: 'github',
|
|
139
|
+
format: 'file',
|
|
140
|
+
owner,
|
|
141
|
+
repo,
|
|
142
|
+
branch,
|
|
143
|
+
filepath,
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
return {
|
|
148
|
+
content: fileToMarkdown(file),
|
|
149
|
+
source: url.toString(),
|
|
150
|
+
title: filepath,
|
|
151
|
+
metadata: {
|
|
152
|
+
type: 'github',
|
|
153
|
+
format: 'file',
|
|
154
|
+
owner,
|
|
155
|
+
repo,
|
|
156
|
+
branch,
|
|
157
|
+
filepath,
|
|
158
|
+
language: file.language,
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
// Fallback to basic HTML parsing
|
|
163
|
+
return {
|
|
164
|
+
content: this.htmlToMarkdown(html),
|
|
165
|
+
source: url.toString(),
|
|
166
|
+
title: this.getTitleFromUrl(url),
|
|
167
|
+
metadata: {
|
|
168
|
+
type: 'github',
|
|
169
|
+
format: 'html',
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Check if URL is a Notion public page
|
|
175
|
+
*/
|
|
176
|
+
isNotionUrl(url) {
|
|
177
|
+
return (url.hostname === 'notion.so' ||
|
|
178
|
+
url.hostname === 'www.notion.so' ||
|
|
179
|
+
url.hostname.endsWith('.notion.site'));
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Fetch and parse Notion public pages
|
|
183
|
+
*/
|
|
184
|
+
async fetchNotion(url, options) {
|
|
185
|
+
const headers = {
|
|
186
|
+
'User-Agent': 'ralph-starter/0.1.0',
|
|
187
|
+
Accept: 'text/html',
|
|
188
|
+
...options?.headers,
|
|
189
|
+
};
|
|
190
|
+
const response = await fetch(url.toString(), { headers });
|
|
191
|
+
if (!response.ok) {
|
|
192
|
+
this.error(`Notion HTTP error ${response.status}: ${response.statusText}`);
|
|
193
|
+
}
|
|
194
|
+
const html = await response.text();
|
|
195
|
+
// Extract title from Notion page
|
|
196
|
+
const titleMatch = html.match(/<title[^>]*>(.*?)<\/title>/i);
|
|
197
|
+
let title = titleMatch ? titleMatch[1].trim() : 'Notion Page';
|
|
198
|
+
// Clean up Notion title (remove " | Notion" suffix)
|
|
199
|
+
title = title.replace(/\s*\|\s*Notion\s*$/i, '').trim();
|
|
200
|
+
// Notion renders content client-side, so we get limited content from HTML
|
|
201
|
+
// Look for the page content in the HTML
|
|
202
|
+
const content = this.parseNotionHtml(html);
|
|
203
|
+
return {
|
|
204
|
+
content,
|
|
205
|
+
source: url.toString(),
|
|
206
|
+
title,
|
|
207
|
+
metadata: {
|
|
208
|
+
type: 'notion',
|
|
209
|
+
format: 'public-page',
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Parse Notion public page HTML
|
|
215
|
+
* Note: Notion uses client-side rendering, so public pages have limited HTML content
|
|
216
|
+
*/
|
|
217
|
+
parseNotionHtml(html) {
|
|
218
|
+
// Extract title
|
|
219
|
+
const titleMatch = html.match(/<title[^>]*>(.*?)<\/title>/i);
|
|
220
|
+
let title = titleMatch ? titleMatch[1].trim() : 'Notion Page';
|
|
221
|
+
title = title.replace(/\s*\|\s*Notion\s*$/i, '').trim();
|
|
222
|
+
const lines = [`# ${title}`, ''];
|
|
223
|
+
// Try to extract content from notion-page-content or similar
|
|
224
|
+
// Notion SSR includes some content in data attributes
|
|
225
|
+
// Look for preloaded content in __NEXT_DATA__ or similar
|
|
226
|
+
const nextDataMatch = html.match(/<script id="__NEXT_DATA__"[^>]*>([\s\S]*?)<\/script>/);
|
|
227
|
+
if (nextDataMatch) {
|
|
228
|
+
try {
|
|
229
|
+
const data = JSON.parse(nextDataMatch[1]);
|
|
230
|
+
// Navigate to page content if available
|
|
231
|
+
const pageContent = this.extractNotionContent(data);
|
|
232
|
+
if (pageContent) {
|
|
233
|
+
lines.push(pageContent);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
// Failed to parse JSON
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
// Fallback: extract any visible text content
|
|
241
|
+
if (lines.length <= 2) {
|
|
242
|
+
// Remove scripts and styles
|
|
243
|
+
let content = html;
|
|
244
|
+
content = content.replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');
|
|
245
|
+
content = content.replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '');
|
|
246
|
+
// Try to find main content area
|
|
247
|
+
const mainMatch = content.match(/<main[^>]*>([\s\S]*?)<\/main>/i);
|
|
248
|
+
if (mainMatch) {
|
|
249
|
+
lines.push(this.toMarkdown(mainMatch[1], 'html'));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
// Add note about limitations
|
|
253
|
+
if (lines.length <= 2) {
|
|
254
|
+
lines.push('*Note: Notion pages are rendered client-side. For full content, use the Notion API integration.*');
|
|
255
|
+
lines.push('');
|
|
256
|
+
lines.push('Run `ralph-starter config set notion.token <your-token>` to enable full Notion support.');
|
|
257
|
+
}
|
|
258
|
+
return lines.join('\n');
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Extract content from Notion's preloaded data
|
|
262
|
+
*/
|
|
263
|
+
extractNotionContent(data) {
|
|
264
|
+
// This is a simplified extraction - Notion's data structure is complex
|
|
265
|
+
// In practice, most useful content requires the API
|
|
266
|
+
try {
|
|
267
|
+
const props = data?.props;
|
|
268
|
+
const pageProps = props?.pageProps;
|
|
269
|
+
if (pageProps?.recordMap) {
|
|
270
|
+
// There's page content, but it's in Notion's block format
|
|
271
|
+
// Would need full Notion block parsing to extract
|
|
272
|
+
return '*This page has content that requires Notion API access to fully render.*';
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
// Failed to navigate data structure
|
|
277
|
+
}
|
|
278
|
+
return null;
|
|
279
|
+
}
|
|
280
|
+
isMarkdown(url, contentType) {
|
|
281
|
+
const mdExtensions = ['.md', '.markdown', '.mdown', '.mkd'];
|
|
282
|
+
const lowerUrl = url.toLowerCase();
|
|
283
|
+
// Check URL extension
|
|
284
|
+
if (mdExtensions.some((ext) => lowerUrl.endsWith(ext))) {
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
// Check content type
|
|
288
|
+
if (contentType.includes('text/markdown') || contentType.includes('text/x-markdown')) {
|
|
289
|
+
return true;
|
|
290
|
+
}
|
|
291
|
+
// Check for raw GitHub URLs
|
|
292
|
+
if (lowerUrl.includes('raw.githubusercontent.com')) {
|
|
293
|
+
return true;
|
|
294
|
+
}
|
|
295
|
+
return false;
|
|
296
|
+
}
|
|
297
|
+
jsonToMarkdown(content, pathname) {
|
|
298
|
+
try {
|
|
299
|
+
const obj = JSON.parse(content);
|
|
300
|
+
const name = pathname.split('/').pop() || 'data';
|
|
301
|
+
// Try to extract meaningful content
|
|
302
|
+
if (Array.isArray(obj)) {
|
|
303
|
+
return this.arrayToMarkdown(obj, name);
|
|
304
|
+
}
|
|
305
|
+
if (typeof obj === 'object') {
|
|
306
|
+
return this.objectToMarkdown(obj, name);
|
|
307
|
+
}
|
|
308
|
+
return `# ${name}\n\n\`\`\`json\n${JSON.stringify(obj, null, 2)}\n\`\`\``;
|
|
309
|
+
}
|
|
310
|
+
catch {
|
|
311
|
+
return `\`\`\`json\n${content}\n\`\`\``;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
arrayToMarkdown(arr, name) {
|
|
315
|
+
const lines = [`# ${name}`, ''];
|
|
316
|
+
for (const item of arr.slice(0, 50)) {
|
|
317
|
+
if (typeof item === 'object' && item !== null) {
|
|
318
|
+
const obj = item;
|
|
319
|
+
const title = obj.title || obj.name || obj.summary || 'Item';
|
|
320
|
+
const desc = obj.description || obj.body || obj.content || '';
|
|
321
|
+
lines.push(`## ${title}`);
|
|
322
|
+
if (desc) {
|
|
323
|
+
lines.push('', String(desc));
|
|
324
|
+
}
|
|
325
|
+
lines.push('');
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
lines.push(`- ${item}`);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
return lines.join('\n');
|
|
332
|
+
}
|
|
333
|
+
objectToMarkdown(obj, name) {
|
|
334
|
+
const lines = [`# ${name}`, ''];
|
|
335
|
+
// Try to find main content fields
|
|
336
|
+
const contentFields = ['description', 'body', 'content', 'text', 'readme'];
|
|
337
|
+
const titleFields = ['title', 'name', 'summary'];
|
|
338
|
+
let title = name;
|
|
339
|
+
for (const field of titleFields) {
|
|
340
|
+
if (obj[field] && typeof obj[field] === 'string') {
|
|
341
|
+
title = String(obj[field]);
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
lines[0] = `# ${title}`;
|
|
346
|
+
for (const field of contentFields) {
|
|
347
|
+
if (obj[field] && typeof obj[field] === 'string') {
|
|
348
|
+
lines.push(String(obj[field]), '');
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
// Add other fields as details
|
|
352
|
+
const otherFields = Object.entries(obj).filter(([k]) => !contentFields.includes(k) && !titleFields.includes(k));
|
|
353
|
+
if (otherFields.length > 0) {
|
|
354
|
+
lines.push('## Details', '');
|
|
355
|
+
for (const [key, value] of otherFields) {
|
|
356
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
357
|
+
lines.push(`- **${key}**: ${value}`);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
return lines.join('\n');
|
|
362
|
+
}
|
|
363
|
+
htmlToMarkdown(html) {
|
|
364
|
+
// Extract title
|
|
365
|
+
const titleMatch = html.match(/<title[^>]*>(.*?)<\/title>/i);
|
|
366
|
+
const title = titleMatch ? titleMatch[1].trim() : 'Document';
|
|
367
|
+
// Try to find main content
|
|
368
|
+
let content = html;
|
|
369
|
+
// Remove script and style tags
|
|
370
|
+
content = content.replace(/<script[^>]*>[\s\S]*?<\/script>/gi, '');
|
|
371
|
+
content = content.replace(/<style[^>]*>[\s\S]*?<\/style>/gi, '');
|
|
372
|
+
// Try to find article or main content
|
|
373
|
+
const articleMatch = content.match(/<article[^>]*>([\s\S]*?)<\/article>/i);
|
|
374
|
+
const mainMatch = content.match(/<main[^>]*>([\s\S]*?)<\/main>/i);
|
|
375
|
+
const bodyMatch = content.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
|
|
376
|
+
content = articleMatch?.[1] || mainMatch?.[1] || bodyMatch?.[1] || content;
|
|
377
|
+
// Convert common HTML to markdown
|
|
378
|
+
const markdown = this.toMarkdown(content, 'html');
|
|
379
|
+
return `# ${title}\n\n${markdown}`;
|
|
380
|
+
}
|
|
381
|
+
getTitleFromUrl(url) {
|
|
382
|
+
// Try to get a meaningful title from the URL
|
|
383
|
+
const pathname = url.pathname;
|
|
384
|
+
const segments = pathname.split('/').filter(Boolean);
|
|
385
|
+
if (segments.length === 0) {
|
|
386
|
+
return url.hostname;
|
|
387
|
+
}
|
|
388
|
+
// Get the last segment and clean it up
|
|
389
|
+
const lastSegment = segments[segments.length - 1];
|
|
390
|
+
return lastSegment
|
|
391
|
+
.replace(/\.(md|markdown|html|json)$/i, '')
|
|
392
|
+
.replace(/[-_]/g, ' ')
|
|
393
|
+
.replace(/\b\w/g, (c) => c.toUpperCase());
|
|
394
|
+
}
|
|
395
|
+
getHelp() {
|
|
396
|
+
return `
|
|
397
|
+
url: Fetch specs from remote URLs
|
|
398
|
+
|
|
399
|
+
Usage:
|
|
400
|
+
ralph-starter run --from https://example.com/spec.md
|
|
401
|
+
ralph-starter run --from <url>
|
|
402
|
+
|
|
403
|
+
Examples:
|
|
404
|
+
# Raw markdown files
|
|
405
|
+
ralph-starter run --from https://raw.githubusercontent.com/user/repo/main/SPEC.md
|
|
406
|
+
|
|
407
|
+
# GitHub issues (no auth required for public repos!)
|
|
408
|
+
ralph-starter run --from https://github.com/owner/repo/issues/123
|
|
409
|
+
ralph-starter run --from https://github.com/owner/repo/issues
|
|
410
|
+
|
|
411
|
+
# GitHub files
|
|
412
|
+
ralph-starter run --from https://github.com/owner/repo/blob/main/README.md
|
|
413
|
+
|
|
414
|
+
# Notion public pages
|
|
415
|
+
ralph-starter run --from https://notion.so/My-Public-Page-abc123
|
|
416
|
+
|
|
417
|
+
# Any web page or API
|
|
418
|
+
ralph-starter run --from https://api.example.com/project/spec
|
|
419
|
+
|
|
420
|
+
Supported formats:
|
|
421
|
+
- Markdown files
|
|
422
|
+
- GitHub issues and files (specialized parsing)
|
|
423
|
+
- Notion public pages (limited - use API for full support)
|
|
424
|
+
- JSON responses (converted to markdown)
|
|
425
|
+
- HTML pages (content extraction)
|
|
426
|
+
`.trim();
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
//# sourceMappingURL=url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/sources/builtin/url.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { SourceConfig, SourceCredentials, SourceOptions, SourcesConfig } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Get the environment variable name for a source credential
|
|
4
|
+
*/
|
|
5
|
+
export declare function getEnvVarName(sourceName: string, key: string): string | null;
|
|
6
|
+
/**
|
|
7
|
+
* Get all environment variable names for credentials
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAllEnvVarMappings(): Record<string, Record<string, string>>;
|
|
10
|
+
/**
|
|
11
|
+
* Read sources configuration
|
|
12
|
+
*/
|
|
13
|
+
export declare function readSourcesConfig(): SourcesConfig;
|
|
14
|
+
/**
|
|
15
|
+
* Write sources configuration
|
|
16
|
+
*/
|
|
17
|
+
export declare function writeSourcesConfig(config: SourcesConfig): void;
|
|
18
|
+
/**
|
|
19
|
+
* Get configuration for a specific source
|
|
20
|
+
*/
|
|
21
|
+
export declare function getSourceConfig(sourceName: string): SourceConfig | null;
|
|
22
|
+
/**
|
|
23
|
+
* Set configuration for a specific source
|
|
24
|
+
*/
|
|
25
|
+
export declare function setSourceConfig(sourceName: string, sourceConfig: SourceConfig): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get credentials for a specific source
|
|
28
|
+
* Priority: Environment variables > Config file
|
|
29
|
+
*/
|
|
30
|
+
export declare function getSourceCredentials(sourceName: string): SourceCredentials | null;
|
|
31
|
+
/**
|
|
32
|
+
* Check if credentials came from environment variables
|
|
33
|
+
*/
|
|
34
|
+
export declare function isCredentialFromEnv(sourceName: string, key: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Set a credential for a specific source
|
|
37
|
+
*/
|
|
38
|
+
export declare function setSourceCredential(sourceName: string, key: string, value: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* Delete a credential for a specific source
|
|
41
|
+
*/
|
|
42
|
+
export declare function deleteSourceCredential(sourceName: string, key: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Get default options for a specific source
|
|
45
|
+
*/
|
|
46
|
+
export declare function getSourceDefaults(sourceName: string): SourceOptions | null;
|
|
47
|
+
/**
|
|
48
|
+
* Set default options for a specific source
|
|
49
|
+
*/
|
|
50
|
+
export declare function setSourceDefaults(sourceName: string, defaults: SourceOptions): void;
|
|
51
|
+
/**
|
|
52
|
+
* Check if a source is enabled
|
|
53
|
+
* Sources are enabled by default unless explicitly disabled
|
|
54
|
+
*/
|
|
55
|
+
export declare function isSourceEnabled(sourceName: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Enable or disable a source
|
|
58
|
+
*/
|
|
59
|
+
export declare function setSourceEnabled(sourceName: string, enabled: boolean): void;
|
|
60
|
+
/**
|
|
61
|
+
* List all configured sources
|
|
62
|
+
*/
|
|
63
|
+
export declare function listConfiguredSources(): string[];
|
|
64
|
+
/**
|
|
65
|
+
* Delete all configuration for a source
|
|
66
|
+
*/
|
|
67
|
+
export declare function deleteSourceConfig(sourceName: string): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Get the config file path (for display purposes)
|
|
70
|
+
*/
|
|
71
|
+
export declare function getSourcesConfigPath(): string;
|
|
72
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/sources/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAqChG;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE7E;AAWD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,CAajD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAG9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAGvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CAOpF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAWjF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAG5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAaxF;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAqB/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAG1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAanF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAG3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAS3E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAGhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAU9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C"}
|