hub-launch 1.0.3
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/CHANGELOG.md +144 -0
- package/README.md +195 -0
- package/bin/hublaunch +20 -0
- package/dist/commands/checkout.d.ts +7 -0
- package/dist/commands/checkout.d.ts.map +1 -0
- package/dist/commands/checkout.js +164 -0
- package/dist/commands/checkout.js.map +1 -0
- package/dist/commands/clean.d.ts +7 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +206 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/close.d.ts +7 -0
- package/dist/commands/close.d.ts.map +1 -0
- package/dist/commands/close.js +109 -0
- package/dist/commands/close.js.map +1 -0
- package/dist/commands/create.d.ts +7 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +367 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/diff.d.ts +7 -0
- package/dist/commands/diff.d.ts.map +1 -0
- package/dist/commands/diff.js +98 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/execute.d.ts +7 -0
- package/dist/commands/execute.d.ts.map +1 -0
- package/dist/commands/execute.js +376 -0
- package/dist/commands/execute.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +1243 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/interactive.d.ts +12 -0
- package/dist/commands/interactive.d.ts.map +1 -0
- package/dist/commands/interactive.js +1071 -0
- package/dist/commands/interactive.js.map +1 -0
- package/dist/commands/launch.d.ts +16 -0
- package/dist/commands/launch.d.ts.map +1 -0
- package/dist/commands/launch.js +684 -0
- package/dist/commands/launch.js.map +1 -0
- package/dist/commands/login.d.ts +40 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +469 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logs.d.ts +22 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +105 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/merge.d.ts +7 -0
- package/dist/commands/merge.d.ts.map +1 -0
- package/dist/commands/merge.js +240 -0
- package/dist/commands/merge.js.map +1 -0
- package/dist/commands/preview.d.ts +7 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +160 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/project.d.ts +18 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +352 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/respond.d.ts +7 -0
- package/dist/commands/respond.d.ts.map +1 -0
- package/dist/commands/respond.js +112 -0
- package/dist/commands/respond.js.map +1 -0
- package/dist/commands/setPriority.d.ts +7 -0
- package/dist/commands/setPriority.d.ts.map +1 -0
- package/dist/commands/setPriority.js +112 -0
- package/dist/commands/setPriority.js.map +1 -0
- package/dist/commands/track.d.ts +7 -0
- package/dist/commands/track.d.ts.map +1 -0
- package/dist/commands/track.js +140 -0
- package/dist/commands/track.js.map +1 -0
- package/dist/commands/upload.d.ts +21 -0
- package/dist/commands/upload.d.ts.map +1 -0
- package/dist/commands/upload.js +145 -0
- package/dist/commands/upload.js.map +1 -0
- package/dist/commands/view.d.ts +7 -0
- package/dist/commands/view.d.ts.map +1 -0
- package/dist/commands/view.js +168 -0
- package/dist/commands/view.js.map +1 -0
- package/dist/commands/watch.d.ts +7 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +438 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/commands/worktree.d.ts +7 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +122 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/config/command-names.d.ts +16 -0
- package/dist/config/command-names.d.ts.map +1 -0
- package/dist/config/command-names.js +17 -0
- package/dist/config/command-names.js.map +1 -0
- package/dist/config/constants.d.ts +12 -0
- package/dist/config/constants.d.ts.map +1 -0
- package/dist/config/constants.js +12 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/index.d.ts +47 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +175 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +148 -0
- package/dist/index.js.map +1 -0
- package/dist/services/api/HulaApiClient.d.ts +170 -0
- package/dist/services/api/HulaApiClient.d.ts.map +1 -0
- package/dist/services/api/HulaApiClient.js +233 -0
- package/dist/services/api/HulaApiClient.js.map +1 -0
- package/dist/services/diff/DiffService.d.ts +44 -0
- package/dist/services/diff/DiffService.d.ts.map +1 -0
- package/dist/services/diff/DiffService.js +126 -0
- package/dist/services/diff/DiffService.js.map +1 -0
- package/dist/services/editor/EditorService.d.ts +53 -0
- package/dist/services/editor/EditorService.d.ts.map +1 -0
- package/dist/services/editor/EditorService.js +161 -0
- package/dist/services/editor/EditorService.js.map +1 -0
- package/dist/services/git/GitService.d.ts +124 -0
- package/dist/services/git/GitService.d.ts.map +1 -0
- package/dist/services/git/GitService.js +423 -0
- package/dist/services/git/GitService.js.map +1 -0
- package/dist/services/git/WorktreeService.d.ts +144 -0
- package/dist/services/git/WorktreeService.d.ts.map +1 -0
- package/dist/services/git/WorktreeService.js +505 -0
- package/dist/services/git/WorktreeService.js.map +1 -0
- package/dist/services/github/ActionsService.d.ts +66 -0
- package/dist/services/github/ActionsService.d.ts.map +1 -0
- package/dist/services/github/ActionsService.js +114 -0
- package/dist/services/github/ActionsService.js.map +1 -0
- package/dist/services/github/AssetUploadService.d.ts +103 -0
- package/dist/services/github/AssetUploadService.d.ts.map +1 -0
- package/dist/services/github/AssetUploadService.js +299 -0
- package/dist/services/github/AssetUploadService.js.map +1 -0
- package/dist/services/github/BatchCopilotDetectionService.d.ts +58 -0
- package/dist/services/github/BatchCopilotDetectionService.d.ts.map +1 -0
- package/dist/services/github/BatchCopilotDetectionService.js +321 -0
- package/dist/services/github/BatchCopilotDetectionService.js.map +1 -0
- package/dist/services/github/CopilotDetectionService.d.ts +40 -0
- package/dist/services/github/CopilotDetectionService.d.ts.map +1 -0
- package/dist/services/github/CopilotDetectionService.js +280 -0
- package/dist/services/github/CopilotDetectionService.js.map +1 -0
- package/dist/services/github/CopilotService.d.ts +27 -0
- package/dist/services/github/CopilotService.d.ts.map +1 -0
- package/dist/services/github/CopilotService.js +249 -0
- package/dist/services/github/CopilotService.js.map +1 -0
- package/dist/services/github/DeploymentDetectionService.d.ts +38 -0
- package/dist/services/github/DeploymentDetectionService.d.ts.map +1 -0
- package/dist/services/github/DeploymentDetectionService.js +104 -0
- package/dist/services/github/DeploymentDetectionService.js.map +1 -0
- package/dist/services/github/GithubAppService.d.ts +40 -0
- package/dist/services/github/GithubAppService.d.ts.map +1 -0
- package/dist/services/github/GithubAppService.js +187 -0
- package/dist/services/github/GithubAppService.js.map +1 -0
- package/dist/services/github/IssueService.d.ts +65 -0
- package/dist/services/github/IssueService.d.ts.map +1 -0
- package/dist/services/github/IssueService.js +231 -0
- package/dist/services/github/IssueService.js.map +1 -0
- package/dist/services/github/LabelService.d.ts +36 -0
- package/dist/services/github/LabelService.d.ts.map +1 -0
- package/dist/services/github/LabelService.js +122 -0
- package/dist/services/github/LabelService.js.map +1 -0
- package/dist/services/github/PRService.d.ts +77 -0
- package/dist/services/github/PRService.d.ts.map +1 -0
- package/dist/services/github/PRService.js +287 -0
- package/dist/services/github/PRService.js.map +1 -0
- package/dist/services/github/ProjectService.d.ts +144 -0
- package/dist/services/github/ProjectService.d.ts.map +1 -0
- package/dist/services/github/ProjectService.js +804 -0
- package/dist/services/github/ProjectService.js.map +1 -0
- package/dist/services/hooks/HookExecutor.d.ts +66 -0
- package/dist/services/hooks/HookExecutor.d.ts.map +1 -0
- package/dist/services/hooks/HookExecutor.js +227 -0
- package/dist/services/hooks/HookExecutor.js.map +1 -0
- package/dist/services/hooks/index.d.ts +2 -0
- package/dist/services/hooks/index.d.ts.map +1 -0
- package/dist/services/hooks/index.js +2 -0
- package/dist/services/hooks/index.js.map +1 -0
- package/dist/services/logs/LogFormatterService.d.ts +17 -0
- package/dist/services/logs/LogFormatterService.d.ts.map +1 -0
- package/dist/services/logs/LogFormatterService.js +35 -0
- package/dist/services/logs/LogFormatterService.js.map +1 -0
- package/dist/services/logs/TempFileService.d.ts +27 -0
- package/dist/services/logs/TempFileService.d.ts.map +1 -0
- package/dist/services/logs/TempFileService.js +90 -0
- package/dist/services/logs/TempFileService.js.map +1 -0
- package/dist/services/logs/index.d.ts +3 -0
- package/dist/services/logs/index.d.ts.map +1 -0
- package/dist/services/logs/index.js +4 -0
- package/dist/services/logs/index.js.map +1 -0
- package/dist/services/plan/PlanService.d.ts +70 -0
- package/dist/services/plan/PlanService.d.ts.map +1 -0
- package/dist/services/plan/PlanService.js +211 -0
- package/dist/services/plan/PlanService.js.map +1 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.d.ts +16 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.d.ts.map +1 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.js +87 -0
- package/dist/services/polling/GitHubDirectPollingAdapter.js.map +1 -0
- package/dist/services/polling/HulaServerPollingAdapter.d.ts +23 -0
- package/dist/services/polling/HulaServerPollingAdapter.d.ts.map +1 -0
- package/dist/services/polling/HulaServerPollingAdapter.js +78 -0
- package/dist/services/polling/HulaServerPollingAdapter.js.map +1 -0
- package/dist/services/polling/IStatusPollingAdapter.d.ts +29 -0
- package/dist/services/polling/IStatusPollingAdapter.d.ts.map +1 -0
- package/dist/services/polling/IStatusPollingAdapter.js +2 -0
- package/dist/services/polling/IStatusPollingAdapter.js.map +1 -0
- package/dist/services/polling/StatusPollingAdapterFactory.d.ts +14 -0
- package/dist/services/polling/StatusPollingAdapterFactory.d.ts.map +1 -0
- package/dist/services/polling/StatusPollingAdapterFactory.js +41 -0
- package/dist/services/polling/StatusPollingAdapterFactory.js.map +1 -0
- package/dist/services/polling/index.d.ts +5 -0
- package/dist/services/polling/index.d.ts.map +1 -0
- package/dist/services/polling/index.js +5 -0
- package/dist/services/polling/index.js.map +1 -0
- package/dist/services/preview/PreviewService.d.ts +86 -0
- package/dist/services/preview/PreviewService.d.ts.map +1 -0
- package/dist/services/preview/PreviewService.js +439 -0
- package/dist/services/preview/PreviewService.js.map +1 -0
- package/dist/services/tracking/ProjectTrackingAdapter.d.ts +41 -0
- package/dist/services/tracking/ProjectTrackingAdapter.d.ts.map +1 -0
- package/dist/services/tracking/ProjectTrackingAdapter.js +230 -0
- package/dist/services/tracking/ProjectTrackingAdapter.js.map +1 -0
- package/dist/services/tracking/RemoteTrackingAdapter.d.ts +62 -0
- package/dist/services/tracking/RemoteTrackingAdapter.d.ts.map +1 -0
- package/dist/services/tracking/RemoteTrackingAdapter.js +242 -0
- package/dist/services/tracking/RemoteTrackingAdapter.js.map +1 -0
- package/dist/services/tracking/TrackingAdapterFactory.d.ts +25 -0
- package/dist/services/tracking/TrackingAdapterFactory.d.ts.map +1 -0
- package/dist/services/tracking/TrackingAdapterFactory.js +55 -0
- package/dist/services/tracking/TrackingAdapterFactory.js.map +1 -0
- package/dist/services/tracking/TrackingService.d.ts +104 -0
- package/dist/services/tracking/TrackingService.d.ts.map +1 -0
- package/dist/services/tracking/TrackingService.js +256 -0
- package/dist/services/tracking/TrackingService.js.map +1 -0
- package/dist/services/tracking/UntrackedIssuesService.d.ts +20 -0
- package/dist/services/tracking/UntrackedIssuesService.d.ts.map +1 -0
- package/dist/services/tracking/UntrackedIssuesService.js +148 -0
- package/dist/services/tracking/UntrackedIssuesService.js.map +1 -0
- package/dist/services/tracking/local-file-migration.d.ts +16 -0
- package/dist/services/tracking/local-file-migration.d.ts.map +1 -0
- package/dist/services/tracking/local-file-migration.js +86 -0
- package/dist/services/tracking/local-file-migration.js.map +1 -0
- package/dist/templates/planning-instructions.md +752 -0
- package/dist/templates/proceed-instructions.md +453 -0
- package/dist/templates/scripts/hula-fix-commit.sh +110 -0
- package/dist/templates/scripts/hula-fix-setup.sh +145 -0
- package/dist/templates/scripts/hula-launch-run.sh +89 -0
- package/dist/templates/scripts/hula-merge-local.sh +138 -0
- package/dist/templates/scripts/hula-merge-remote.sh +74 -0
- package/dist/templates/scripts/hula-read-config.sh +38 -0
- package/dist/templates/scripts/hula-verify-gather.sh +135 -0
- package/dist/templates/scripts/hula-verify-post.sh +84 -0
- package/dist/templates/skills/hula-confirm/SKILL.md +361 -0
- package/dist/templates/skills/hula-create/SKILL.md +211 -0
- package/dist/templates/skills/hula-fix/SKILL.md +224 -0
- package/dist/templates/skills/hula-launch/SKILL.md +159 -0
- package/dist/templates/skills/hula-log/SKILL.md +105 -0
- package/dist/templates/skills/hula-merge/SKILL.md +387 -0
- package/dist/templates/skills/hula-plan/SKILL.md +148 -0
- package/dist/templates/skills/hula-upload/SKILL.md +115 -0
- package/dist/templates/skills/hula-verify/SKILL.md +754 -0
- package/dist/types/common.schema.d.ts +46 -0
- package/dist/types/common.schema.d.ts.map +1 -0
- package/dist/types/common.schema.js +60 -0
- package/dist/types/common.schema.js.map +1 -0
- package/dist/types/config.schema.d.ts +443 -0
- package/dist/types/config.schema.d.ts.map +1 -0
- package/dist/types/config.schema.js +126 -0
- package/dist/types/config.schema.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/issue.schema.d.ts +136 -0
- package/dist/types/issue.schema.d.ts.map +1 -0
- package/dist/types/issue.schema.js +49 -0
- package/dist/types/issue.schema.js.map +1 -0
- package/dist/types/pr.schema.d.ts +118 -0
- package/dist/types/pr.schema.d.ts.map +1 -0
- package/dist/types/pr.schema.js +40 -0
- package/dist/types/pr.schema.js.map +1 -0
- package/dist/types/tracking.schema.d.ts +340 -0
- package/dist/types/tracking.schema.d.ts.map +1 -0
- package/dist/types/tracking.schema.js +56 -0
- package/dist/types/tracking.schema.js.map +1 -0
- package/dist/utils/browser-launcher.d.ts +60 -0
- package/dist/utils/browser-launcher.d.ts.map +1 -0
- package/dist/utils/browser-launcher.js +263 -0
- package/dist/utils/browser-launcher.js.map +1 -0
- package/dist/utils/cache.d.ts +44 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +94 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/config-parser.d.ts +16 -0
- package/dist/utils/config-parser.d.ts.map +1 -0
- package/dist/utils/config-parser.js +210 -0
- package/dist/utils/config-parser.js.map +1 -0
- package/dist/utils/editor.d.ts +21 -0
- package/dist/utils/editor.d.ts.map +1 -0
- package/dist/utils/editor.js +213 -0
- package/dist/utils/editor.js.map +1 -0
- package/dist/utils/git-utils.d.ts +5 -0
- package/dist/utils/git-utils.d.ts.map +1 -0
- package/dist/utils/git-utils.js +18 -0
- package/dist/utils/git-utils.js.map +1 -0
- package/dist/utils/github-cli.d.ts +62 -0
- package/dist/utils/github-cli.d.ts.map +1 -0
- package/dist/utils/github-cli.js +492 -0
- package/dist/utils/github-cli.js.map +1 -0
- package/dist/utils/logger.d.ts +45 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +118 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/open-url.d.ts +19 -0
- package/dist/utils/open-url.d.ts.map +1 -0
- package/dist/utils/open-url.js +37 -0
- package/dist/utils/open-url.js.map +1 -0
- package/dist/utils/project-resolver.d.ts +13 -0
- package/dist/utils/project-resolver.d.ts.map +1 -0
- package/dist/utils/project-resolver.js +35 -0
- package/dist/utils/project-resolver.js.map +1 -0
- package/dist/utils/prompts.d.ts +80 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +326 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/shell.d.ts +54 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +152 -0
- package/dist/utils/shell.js.map +1 -0
- package/dist/utils/validators.d.ts +32 -0
- package/dist/utils/validators.d.ts.map +1 -0
- package/dist/utils/validators.js +64 -0
- package/dist/utils/validators.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PriorityLevelSchema, DEFAULT_POLL_INTERVAL_SECONDS, MIN_POLL_INTERVAL_SECONDS, } from './common.schema.js';
|
|
3
|
+
// Service provider schemas
|
|
4
|
+
const DeploymentServiceSchema = z.object({
|
|
5
|
+
provider: z
|
|
6
|
+
.enum(['vercel', 'netlify', 'railway', 'custom'])
|
|
7
|
+
.default('vercel'),
|
|
8
|
+
customPath: z.string().optional(),
|
|
9
|
+
});
|
|
10
|
+
const AuthServiceSchema = z.object({
|
|
11
|
+
provider: z.enum(['clerk', 'auth0', 'custom', 'none']).default('none'),
|
|
12
|
+
customPath: z.string().optional(),
|
|
13
|
+
});
|
|
14
|
+
const ServicesSchema = z.object({
|
|
15
|
+
deployment: DeploymentServiceSchema.optional(),
|
|
16
|
+
authentication: AuthServiceSchema.optional(),
|
|
17
|
+
});
|
|
18
|
+
const HooksSchema = z.object({
|
|
19
|
+
deploymentStartup: z.string().optional(),
|
|
20
|
+
deploymentShutdown: z.string().optional(),
|
|
21
|
+
beforePreview: z.string().optional(),
|
|
22
|
+
afterPreview: z.string().optional(),
|
|
23
|
+
beforeMerge: z.string().optional(),
|
|
24
|
+
afterMerge: z.string().optional(),
|
|
25
|
+
});
|
|
26
|
+
// Preview authentication configuration
|
|
27
|
+
const PreviewAuthSchema = z.object({
|
|
28
|
+
provider: z
|
|
29
|
+
.enum(['clerk', 'auth0', 'nextauth', 'custom', 'none'])
|
|
30
|
+
.default('clerk'),
|
|
31
|
+
selectors: z
|
|
32
|
+
.object({
|
|
33
|
+
emailInput: z.string().optional(),
|
|
34
|
+
passwordInput: z.string().optional(),
|
|
35
|
+
submitButton: z.string().optional(),
|
|
36
|
+
signInButton: z.string().optional(),
|
|
37
|
+
})
|
|
38
|
+
.optional(),
|
|
39
|
+
});
|
|
40
|
+
// Config schema
|
|
41
|
+
export const ConfigSchema = z.object({
|
|
42
|
+
editorCommand: z.enum(['cursor', 'vsCode', 'other']).default('other'),
|
|
43
|
+
planPath: z.string().default('.hublaunch/plans'),
|
|
44
|
+
trackingFile: z.string().default('.hublaunch/trackedPlans.json'),
|
|
45
|
+
createIssuesPreference: z
|
|
46
|
+
.enum(['alwaysLatest', 'chooseRecentPlan'])
|
|
47
|
+
.default('chooseRecentPlan'),
|
|
48
|
+
planChoices: z.number().default(5),
|
|
49
|
+
skipUntrackedPrompt: z.boolean().default(false),
|
|
50
|
+
// Upload configuration
|
|
51
|
+
uploadBranch: z.string().default('main'),
|
|
52
|
+
// Team configuration
|
|
53
|
+
teamMembers: z.array(z.string()).optional(),
|
|
54
|
+
// GitHub Projects (deprecated - use hula-project instead)
|
|
55
|
+
projectNumber: z.number().optional(),
|
|
56
|
+
projectId: z.string().optional(),
|
|
57
|
+
projectOwner: z.string().optional(),
|
|
58
|
+
projectAutoSync: z.boolean().default(false),
|
|
59
|
+
pollIntervalSeconds: z.number().min(MIN_POLL_INTERVAL_SECONDS).default(DEFAULT_POLL_INTERVAL_SECONDS),
|
|
60
|
+
pollingProvider: z.enum(['hula-server', 'github']).default('hula-server'),
|
|
61
|
+
// Hula-Project (server-side tracking)
|
|
62
|
+
hulaProjectUrl: z.string().optional(),
|
|
63
|
+
hulaApiKey: z.string().optional(),
|
|
64
|
+
hulaProject: z.string().optional(), // Format: "owner/repo" - set during login when API key is project-scoped
|
|
65
|
+
anthropicApiKey: z.string().optional(),
|
|
66
|
+
daytonaApiKey: z.string().optional(),
|
|
67
|
+
daytonaTier: z.number().int().min(1).max(4).default(1),
|
|
68
|
+
containerResources: z
|
|
69
|
+
.object({
|
|
70
|
+
cpu: z.number().int().min(1).max(32).optional(),
|
|
71
|
+
memory: z.number().int().min(1).max(128).optional(),
|
|
72
|
+
disk: z.number().int().min(5).max(200).optional(),
|
|
73
|
+
})
|
|
74
|
+
.optional(),
|
|
75
|
+
updateNotificationUrl: z.string().optional(),
|
|
76
|
+
// Command aliases
|
|
77
|
+
commandAliases: z
|
|
78
|
+
.object({
|
|
79
|
+
primary: z.array(z.string()).default(['hula', 'hub-launch', 'hl']),
|
|
80
|
+
shortcuts: z.record(z.string()).optional(),
|
|
81
|
+
})
|
|
82
|
+
.optional(),
|
|
83
|
+
// Priority configuration
|
|
84
|
+
priorityLevels: z.array(PriorityLevelSchema).optional(),
|
|
85
|
+
// Sorting configuration
|
|
86
|
+
issueSortOrder: z
|
|
87
|
+
.object({
|
|
88
|
+
groupBy: z.enum(['priority', 'status', 'none']).default('priority'),
|
|
89
|
+
sortBy: z.enum(['created', 'updated', 'number']).default('created'),
|
|
90
|
+
direction: z.enum(['asc', 'desc']).default('desc'),
|
|
91
|
+
})
|
|
92
|
+
.optional(),
|
|
93
|
+
// NEW: Service providers
|
|
94
|
+
services: ServicesSchema.optional(),
|
|
95
|
+
// NEW: Lifecycle hooks
|
|
96
|
+
hooks: HooksSchema.optional(),
|
|
97
|
+
// NEW: Preview authentication configuration
|
|
98
|
+
// Credentials are read from env vars: TEST_USER_EMAIL, TEST_USER_PASSWORD
|
|
99
|
+
// Or: PREVIEW_EMAIL, PREVIEW_PASSWORD
|
|
100
|
+
previewAuth: PreviewAuthSchema.optional(),
|
|
101
|
+
// Browser automation configuration
|
|
102
|
+
browserHeadless: z
|
|
103
|
+
.enum(['auto', 'always', 'never'])
|
|
104
|
+
.default('auto')
|
|
105
|
+
.describe("Browser headless mode: 'auto' (headless in CI, visible locally), " +
|
|
106
|
+
"'always' (always headless), 'never' (always visible)"),
|
|
107
|
+
// Worktree configuration
|
|
108
|
+
worktreeBasePath: z.string().default('.hula-worktrees'),
|
|
109
|
+
});
|
|
110
|
+
// Default configuration
|
|
111
|
+
export const DEFAULT_CONFIG = {
|
|
112
|
+
editorCommand: 'vsCode',
|
|
113
|
+
planPath: '.hublaunch/plans',
|
|
114
|
+
trackingFile: '.hublaunch/trackedPlans.json',
|
|
115
|
+
createIssuesPreference: 'chooseRecentPlan',
|
|
116
|
+
planChoices: 5,
|
|
117
|
+
skipUntrackedPrompt: false,
|
|
118
|
+
uploadBranch: 'main',
|
|
119
|
+
projectAutoSync: true,
|
|
120
|
+
pollIntervalSeconds: DEFAULT_POLL_INTERVAL_SECONDS,
|
|
121
|
+
pollingProvider: 'hula-server',
|
|
122
|
+
browserHeadless: 'auto',
|
|
123
|
+
worktreeBasePath: '.hula-worktrees',
|
|
124
|
+
daytonaTier: 1,
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=config.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../src/types/config.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const GitHubIssueSchema: z.ZodObject<{
|
|
3
|
+
number: z.ZodNumber;
|
|
4
|
+
title: z.ZodString;
|
|
5
|
+
body: z.ZodNullable<z.ZodString>;
|
|
6
|
+
state: z.ZodEnum<["open", "closed"]>;
|
|
7
|
+
html_url: z.ZodString;
|
|
8
|
+
created_at: z.ZodString;
|
|
9
|
+
updated_at: z.ZodString;
|
|
10
|
+
assignees: z.ZodArray<z.ZodObject<{
|
|
11
|
+
login: z.ZodString;
|
|
12
|
+
avatar_url: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
login: string;
|
|
15
|
+
avatar_url?: string | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
login: string;
|
|
18
|
+
avatar_url?: string | undefined;
|
|
19
|
+
}>, "many">;
|
|
20
|
+
labels: z.ZodArray<z.ZodObject<{
|
|
21
|
+
name: z.ZodString;
|
|
22
|
+
color: z.ZodString;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
name: string;
|
|
25
|
+
color: string;
|
|
26
|
+
}, {
|
|
27
|
+
name: string;
|
|
28
|
+
color: string;
|
|
29
|
+
}>, "many">;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
number: number;
|
|
32
|
+
title: string;
|
|
33
|
+
assignees: {
|
|
34
|
+
login: string;
|
|
35
|
+
avatar_url?: string | undefined;
|
|
36
|
+
}[];
|
|
37
|
+
body: string | null;
|
|
38
|
+
state: "open" | "closed";
|
|
39
|
+
html_url: string;
|
|
40
|
+
created_at: string;
|
|
41
|
+
updated_at: string;
|
|
42
|
+
labels: {
|
|
43
|
+
name: string;
|
|
44
|
+
color: string;
|
|
45
|
+
}[];
|
|
46
|
+
}, {
|
|
47
|
+
number: number;
|
|
48
|
+
title: string;
|
|
49
|
+
assignees: {
|
|
50
|
+
login: string;
|
|
51
|
+
avatar_url?: string | undefined;
|
|
52
|
+
}[];
|
|
53
|
+
body: string | null;
|
|
54
|
+
state: "open" | "closed";
|
|
55
|
+
html_url: string;
|
|
56
|
+
created_at: string;
|
|
57
|
+
updated_at: string;
|
|
58
|
+
labels: {
|
|
59
|
+
name: string;
|
|
60
|
+
color: string;
|
|
61
|
+
}[];
|
|
62
|
+
}>;
|
|
63
|
+
export type GitHubIssue = z.infer<typeof GitHubIssueSchema>;
|
|
64
|
+
export declare const IssueSchema: z.ZodObject<{
|
|
65
|
+
number: z.ZodNumber;
|
|
66
|
+
title: z.ZodString;
|
|
67
|
+
body: z.ZodOptional<z.ZodString>;
|
|
68
|
+
state: z.ZodEnum<["open", "closed"]>;
|
|
69
|
+
url: z.ZodString;
|
|
70
|
+
createdAt: z.ZodString;
|
|
71
|
+
updatedAt: z.ZodString;
|
|
72
|
+
assignees: z.ZodArray<z.ZodString, "many">;
|
|
73
|
+
priority: z.ZodOptional<z.ZodEnum<["Critical", "High", "Medium", "Low", "Minimal"]>>;
|
|
74
|
+
status: z.ZodOptional<z.ZodEnum<["unassigned", "initialWaiting", "waiting", "ready"]>>;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
76
|
+
number: number;
|
|
77
|
+
title: string;
|
|
78
|
+
createdAt: string;
|
|
79
|
+
updatedAt: string;
|
|
80
|
+
assignees: string[];
|
|
81
|
+
state: "open" | "closed";
|
|
82
|
+
url: string;
|
|
83
|
+
status?: "unassigned" | "initialWaiting" | "waiting" | "ready" | undefined;
|
|
84
|
+
priority?: "Critical" | "High" | "Medium" | "Low" | "Minimal" | undefined;
|
|
85
|
+
body?: string | undefined;
|
|
86
|
+
}, {
|
|
87
|
+
number: number;
|
|
88
|
+
title: string;
|
|
89
|
+
createdAt: string;
|
|
90
|
+
updatedAt: string;
|
|
91
|
+
assignees: string[];
|
|
92
|
+
state: "open" | "closed";
|
|
93
|
+
url: string;
|
|
94
|
+
status?: "unassigned" | "initialWaiting" | "waiting" | "ready" | undefined;
|
|
95
|
+
priority?: "Critical" | "High" | "Medium" | "Low" | "Minimal" | undefined;
|
|
96
|
+
body?: string | undefined;
|
|
97
|
+
}>;
|
|
98
|
+
export type Issue = z.infer<typeof IssueSchema>;
|
|
99
|
+
export declare const CreateIssueParamsSchema: z.ZodObject<{
|
|
100
|
+
title: z.ZodString;
|
|
101
|
+
body: z.ZodOptional<z.ZodString>;
|
|
102
|
+
assignees: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
103
|
+
labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
104
|
+
priority: z.ZodOptional<z.ZodEnum<["Critical", "High", "Medium", "Low", "Minimal"]>>;
|
|
105
|
+
}, "strip", z.ZodTypeAny, {
|
|
106
|
+
title: string;
|
|
107
|
+
priority?: "Critical" | "High" | "Medium" | "Low" | "Minimal" | undefined;
|
|
108
|
+
assignees?: string[] | undefined;
|
|
109
|
+
body?: string | undefined;
|
|
110
|
+
labels?: string[] | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
title: string;
|
|
113
|
+
priority?: "Critical" | "High" | "Medium" | "Low" | "Minimal" | undefined;
|
|
114
|
+
assignees?: string[] | undefined;
|
|
115
|
+
body?: string | undefined;
|
|
116
|
+
labels?: string[] | undefined;
|
|
117
|
+
}>;
|
|
118
|
+
export type CreateIssueParams = z.infer<typeof CreateIssueParamsSchema>;
|
|
119
|
+
export declare const IssueFiltersSchema: z.ZodObject<{
|
|
120
|
+
state: z.ZodOptional<z.ZodEnum<["open", "closed", "all"]>>;
|
|
121
|
+
assignee: z.ZodOptional<z.ZodString>;
|
|
122
|
+
labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
123
|
+
since: z.ZodOptional<z.ZodString>;
|
|
124
|
+
}, "strip", z.ZodTypeAny, {
|
|
125
|
+
state?: "open" | "closed" | "all" | undefined;
|
|
126
|
+
labels?: string[] | undefined;
|
|
127
|
+
assignee?: string | undefined;
|
|
128
|
+
since?: string | undefined;
|
|
129
|
+
}, {
|
|
130
|
+
state?: "open" | "closed" | "all" | undefined;
|
|
131
|
+
labels?: string[] | undefined;
|
|
132
|
+
assignee?: string | undefined;
|
|
133
|
+
since?: string | undefined;
|
|
134
|
+
}>;
|
|
135
|
+
export type IssueFilters = z.infer<typeof IssueFiltersSchema>;
|
|
136
|
+
//# sourceMappingURL=issue.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.schema.d.ts","sourceRoot":"","sources":["../../src/types/issue.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWtB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAGhD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAMlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { PrioritySchema, IssueStatusSchema } from "./common.schema.js";
|
|
3
|
+
// GitHub Issue from API
|
|
4
|
+
export const GitHubIssueSchema = z.object({
|
|
5
|
+
number: z.number(),
|
|
6
|
+
title: z.string(),
|
|
7
|
+
body: z.string().nullable(),
|
|
8
|
+
state: z.enum(["open", "closed"]),
|
|
9
|
+
html_url: z.string().url(),
|
|
10
|
+
created_at: z.string(),
|
|
11
|
+
updated_at: z.string(),
|
|
12
|
+
assignees: z.array(z.object({
|
|
13
|
+
login: z.string(),
|
|
14
|
+
avatar_url: z.string().url().optional(),
|
|
15
|
+
})),
|
|
16
|
+
labels: z.array(z.object({
|
|
17
|
+
name: z.string(),
|
|
18
|
+
color: z.string(),
|
|
19
|
+
})),
|
|
20
|
+
});
|
|
21
|
+
// Internal Issue representation
|
|
22
|
+
export const IssueSchema = z.object({
|
|
23
|
+
number: z.number(),
|
|
24
|
+
title: z.string(),
|
|
25
|
+
body: z.string().optional(),
|
|
26
|
+
state: z.enum(["open", "closed"]),
|
|
27
|
+
url: z.string().url(),
|
|
28
|
+
createdAt: z.string(),
|
|
29
|
+
updatedAt: z.string(),
|
|
30
|
+
assignees: z.array(z.string()),
|
|
31
|
+
priority: PrioritySchema.optional(),
|
|
32
|
+
status: IssueStatusSchema.optional(),
|
|
33
|
+
});
|
|
34
|
+
// Create issue params
|
|
35
|
+
export const CreateIssueParamsSchema = z.object({
|
|
36
|
+
title: z.string().min(1),
|
|
37
|
+
body: z.string().optional(),
|
|
38
|
+
assignees: z.array(z.string()).optional(),
|
|
39
|
+
labels: z.array(z.string()).optional(),
|
|
40
|
+
priority: PrioritySchema.optional(),
|
|
41
|
+
});
|
|
42
|
+
// Issue filters
|
|
43
|
+
export const IssueFiltersSchema = z.object({
|
|
44
|
+
state: z.enum(["open", "closed", "all"]).optional(),
|
|
45
|
+
assignee: z.string().optional(),
|
|
46
|
+
labels: z.array(z.string()).optional(),
|
|
47
|
+
since: z.string().datetime().optional(),
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=issue.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issue.schema.js","sourceRoot":"","sources":["../../src/types/issue.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const PullRequestSchema: z.ZodObject<{
|
|
3
|
+
number: z.ZodNumber;
|
|
4
|
+
title: z.ZodString;
|
|
5
|
+
body: z.ZodNullable<z.ZodString>;
|
|
6
|
+
state: z.ZodEnum<["open", "closed", "merged"]>;
|
|
7
|
+
draft: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
+
html_url: z.ZodString;
|
|
9
|
+
head: z.ZodObject<{
|
|
10
|
+
ref: z.ZodString;
|
|
11
|
+
sha: z.ZodString;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
ref: string;
|
|
14
|
+
sha: string;
|
|
15
|
+
}, {
|
|
16
|
+
ref: string;
|
|
17
|
+
sha: string;
|
|
18
|
+
}>;
|
|
19
|
+
base: z.ZodObject<{
|
|
20
|
+
ref: z.ZodString;
|
|
21
|
+
}, "strip", z.ZodTypeAny, {
|
|
22
|
+
ref: string;
|
|
23
|
+
}, {
|
|
24
|
+
ref: string;
|
|
25
|
+
}>;
|
|
26
|
+
created_at: z.ZodString;
|
|
27
|
+
updated_at: z.ZodString;
|
|
28
|
+
merged_at: z.ZodNullable<z.ZodString>;
|
|
29
|
+
mergeable: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
30
|
+
user: z.ZodObject<{
|
|
31
|
+
login: z.ZodString;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
login: string;
|
|
34
|
+
}, {
|
|
35
|
+
login: string;
|
|
36
|
+
}>;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
number: number;
|
|
39
|
+
title: string;
|
|
40
|
+
body: string | null;
|
|
41
|
+
state: "open" | "closed" | "merged";
|
|
42
|
+
html_url: string;
|
|
43
|
+
created_at: string;
|
|
44
|
+
updated_at: string;
|
|
45
|
+
head: {
|
|
46
|
+
ref: string;
|
|
47
|
+
sha: string;
|
|
48
|
+
};
|
|
49
|
+
base: {
|
|
50
|
+
ref: string;
|
|
51
|
+
};
|
|
52
|
+
merged_at: string | null;
|
|
53
|
+
user: {
|
|
54
|
+
login: string;
|
|
55
|
+
};
|
|
56
|
+
draft?: boolean | undefined;
|
|
57
|
+
mergeable?: boolean | null | undefined;
|
|
58
|
+
}, {
|
|
59
|
+
number: number;
|
|
60
|
+
title: string;
|
|
61
|
+
body: string | null;
|
|
62
|
+
state: "open" | "closed" | "merged";
|
|
63
|
+
html_url: string;
|
|
64
|
+
created_at: string;
|
|
65
|
+
updated_at: string;
|
|
66
|
+
head: {
|
|
67
|
+
ref: string;
|
|
68
|
+
sha: string;
|
|
69
|
+
};
|
|
70
|
+
base: {
|
|
71
|
+
ref: string;
|
|
72
|
+
};
|
|
73
|
+
merged_at: string | null;
|
|
74
|
+
user: {
|
|
75
|
+
login: string;
|
|
76
|
+
};
|
|
77
|
+
draft?: boolean | undefined;
|
|
78
|
+
mergeable?: boolean | null | undefined;
|
|
79
|
+
}>;
|
|
80
|
+
export type PullRequest = z.infer<typeof PullRequestSchema>;
|
|
81
|
+
export declare const MergeOptionsSchema: z.ZodObject<{
|
|
82
|
+
mergeMethod: z.ZodDefault<z.ZodEnum<["merge", "squash", "rebase"]>>;
|
|
83
|
+
deleteBranch: z.ZodDefault<z.ZodBoolean>;
|
|
84
|
+
commitTitle: z.ZodOptional<z.ZodString>;
|
|
85
|
+
commitMessage: z.ZodOptional<z.ZodString>;
|
|
86
|
+
}, "strip", z.ZodTypeAny, {
|
|
87
|
+
mergeMethod: "merge" | "squash" | "rebase";
|
|
88
|
+
deleteBranch: boolean;
|
|
89
|
+
commitTitle?: string | undefined;
|
|
90
|
+
commitMessage?: string | undefined;
|
|
91
|
+
}, {
|
|
92
|
+
mergeMethod?: "merge" | "squash" | "rebase" | undefined;
|
|
93
|
+
deleteBranch?: boolean | undefined;
|
|
94
|
+
commitTitle?: string | undefined;
|
|
95
|
+
commitMessage?: string | undefined;
|
|
96
|
+
}>;
|
|
97
|
+
export type MergeOptions = z.infer<typeof MergeOptionsSchema>;
|
|
98
|
+
export declare const PRFiltersSchema: z.ZodObject<{
|
|
99
|
+
state: z.ZodOptional<z.ZodEnum<["open", "closed", "all"]>>;
|
|
100
|
+
head: z.ZodOptional<z.ZodString>;
|
|
101
|
+
base: z.ZodOptional<z.ZodString>;
|
|
102
|
+
sort: z.ZodOptional<z.ZodEnum<["created", "updated", "popularity", "long-running"]>>;
|
|
103
|
+
direction: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
|
|
104
|
+
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
sort?: "created" | "updated" | "popularity" | "long-running" | undefined;
|
|
106
|
+
state?: "open" | "closed" | "all" | undefined;
|
|
107
|
+
head?: string | undefined;
|
|
108
|
+
base?: string | undefined;
|
|
109
|
+
direction?: "asc" | "desc" | undefined;
|
|
110
|
+
}, {
|
|
111
|
+
sort?: "created" | "updated" | "popularity" | "long-running" | undefined;
|
|
112
|
+
state?: "open" | "closed" | "all" | undefined;
|
|
113
|
+
head?: string | undefined;
|
|
114
|
+
base?: string | undefined;
|
|
115
|
+
direction?: "asc" | "desc" | undefined;
|
|
116
|
+
}>;
|
|
117
|
+
export type PRFilters = z.infer<typeof PRFiltersSchema>;
|
|
118
|
+
//# sourceMappingURL=pr.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.schema.d.ts","sourceRoot":"","sources":["../../src/types/pr.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAG5D,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// GitHub Pull Request
|
|
3
|
+
export const PullRequestSchema = z.object({
|
|
4
|
+
number: z.number(),
|
|
5
|
+
title: z.string(),
|
|
6
|
+
body: z.string().nullable(),
|
|
7
|
+
state: z.enum(["open", "closed", "merged"]),
|
|
8
|
+
draft: z.boolean().optional(),
|
|
9
|
+
html_url: z.string().url(),
|
|
10
|
+
head: z.object({
|
|
11
|
+
ref: z.string(), // branch name
|
|
12
|
+
sha: z.string(),
|
|
13
|
+
}),
|
|
14
|
+
base: z.object({
|
|
15
|
+
ref: z.string(),
|
|
16
|
+
}),
|
|
17
|
+
created_at: z.string(),
|
|
18
|
+
updated_at: z.string(),
|
|
19
|
+
merged_at: z.string().nullable(),
|
|
20
|
+
mergeable: z.boolean().nullable().optional(),
|
|
21
|
+
user: z.object({
|
|
22
|
+
login: z.string(),
|
|
23
|
+
}),
|
|
24
|
+
});
|
|
25
|
+
// Merge options
|
|
26
|
+
export const MergeOptionsSchema = z.object({
|
|
27
|
+
mergeMethod: z.enum(["merge", "squash", "rebase"]).default("squash"),
|
|
28
|
+
deleteBranch: z.boolean().default(true),
|
|
29
|
+
commitTitle: z.string().optional(),
|
|
30
|
+
commitMessage: z.string().optional(),
|
|
31
|
+
});
|
|
32
|
+
// PR filters
|
|
33
|
+
export const PRFiltersSchema = z.object({
|
|
34
|
+
state: z.enum(["open", "closed", "all"]).optional(),
|
|
35
|
+
head: z.string().optional(),
|
|
36
|
+
base: z.string().optional(),
|
|
37
|
+
sort: z.enum(["created", "updated", "popularity", "long-running"]).optional(),
|
|
38
|
+
direction: z.enum(["asc", "desc"]).optional(),
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=pr.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.schema.js","sourceRoot":"","sources":["../../src/types/pr.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sBAAsB;AACtB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc;QAC/B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;KAChB,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KAClB,CAAC;CACH,CAAC,CAAC;AAGH,gBAAgB;AAChB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACpE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH,aAAa;AACb,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7E,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC"}
|