@bretwardjames/ghp-core 0.10.0 → 0.12.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/dist/index.cjs +40 -5
- package/dist/index.d.cts +21 -2
- package/dist/index.d.ts +21 -2
- package/dist/index.js +39 -5
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -59,6 +59,7 @@ __export(index_exports, {
|
|
|
59
59
|
cleanupStaleAgents: () => cleanupStaleAgents,
|
|
60
60
|
computeSettingsDiff: () => computeSettingsDiff,
|
|
61
61
|
createBranch: () => createBranch,
|
|
62
|
+
createBranchNoCheckout: () => createBranchNoCheckout,
|
|
62
63
|
createIssueWorkflow: () => createIssueWorkflow,
|
|
63
64
|
createPRWorkflow: () => createPRWorkflow,
|
|
64
65
|
createSessionWatcher: () => createSessionWatcher,
|
|
@@ -1280,6 +1281,21 @@ var GitHubAPI = class {
|
|
|
1280
1281
|
return false;
|
|
1281
1282
|
}
|
|
1282
1283
|
}
|
|
1284
|
+
/**
|
|
1285
|
+
* Move an issue to a target status in its project.
|
|
1286
|
+
* Returns { success, error? } — does not throw.
|
|
1287
|
+
*/
|
|
1288
|
+
async moveIssueToStatus(repo, issueNumber, targetStatus) {
|
|
1289
|
+
const item = await this.findItemByNumber(repo, issueNumber);
|
|
1290
|
+
if (!item) return { success: false, error: `Issue #${issueNumber} not found in any project` };
|
|
1291
|
+
if (item.status === targetStatus) return { success: true };
|
|
1292
|
+
const statusField = await this.getStatusField(item.projectId);
|
|
1293
|
+
if (!statusField) return { success: false, error: "Could not find Status field on project" };
|
|
1294
|
+
const option = statusField.options.find((o) => o.name === targetStatus);
|
|
1295
|
+
if (!option) return { success: false, error: `Status "${targetStatus}" not found. Available: ${statusField.options.map((o) => o.name).join(", ")}` };
|
|
1296
|
+
const updated = await this.updateItemStatus(item.projectId, item.id, statusField.fieldId, option.id);
|
|
1297
|
+
return updated ? { success: true } : { success: false, error: "Failed to update status" };
|
|
1298
|
+
}
|
|
1283
1299
|
/**
|
|
1284
1300
|
* Find an item by issue number - direct lookup via issue's projectItems
|
|
1285
1301
|
* Much faster than iterating through all project items
|
|
@@ -2434,6 +2450,14 @@ async function createBranch(branchName, options = {}) {
|
|
|
2434
2450
|
const cmd = options.startPoint ? `git checkout -b "${branchName}" "${options.startPoint}"` : `git checkout -b "${branchName}"`;
|
|
2435
2451
|
await execGit(cmd, options);
|
|
2436
2452
|
}
|
|
2453
|
+
async function createBranchNoCheckout(branchName, options = {}) {
|
|
2454
|
+
validateBranchName(branchName);
|
|
2455
|
+
if (options.startPoint) {
|
|
2456
|
+
validateRefString(options.startPoint);
|
|
2457
|
+
}
|
|
2458
|
+
const cmd = options.startPoint ? `git branch "${branchName}" "${options.startPoint}"` : `git branch "${branchName}"`;
|
|
2459
|
+
await execGit(cmd, options);
|
|
2460
|
+
}
|
|
2437
2461
|
async function checkoutBranch(branchName, options = {}) {
|
|
2438
2462
|
await execGit(`git checkout "${branchName}"`, options);
|
|
2439
2463
|
}
|
|
@@ -2651,31 +2675,41 @@ var SYNCABLE_KEYS = [
|
|
|
2651
2675
|
"mainBranch",
|
|
2652
2676
|
"branchPattern",
|
|
2653
2677
|
"startWorkingStatus",
|
|
2654
|
-
"doneStatus"
|
|
2678
|
+
"doneStatus",
|
|
2679
|
+
"prOpenedStatus",
|
|
2680
|
+
"prMergedStatus"
|
|
2655
2681
|
];
|
|
2656
2682
|
var SETTING_DISPLAY_NAMES = {
|
|
2657
2683
|
mainBranch: "Main Branch",
|
|
2658
2684
|
branchPattern: "Branch Name Pattern",
|
|
2659
2685
|
startWorkingStatus: "Start Working Status",
|
|
2660
|
-
doneStatus: "Done
|
|
2686
|
+
doneStatus: "Done Status",
|
|
2687
|
+
prOpenedStatus: "PR Opened Status",
|
|
2688
|
+
prMergedStatus: "PR Merged Status"
|
|
2661
2689
|
};
|
|
2662
2690
|
var VSCODE_TO_CLI_MAP = {
|
|
2663
2691
|
"mainBranch": "mainBranch",
|
|
2664
2692
|
"branchNamePattern": "branchPattern",
|
|
2665
2693
|
"startWorkingStatus": "startWorkingStatus",
|
|
2666
|
-
"
|
|
2694
|
+
"doneStatus": "doneStatus",
|
|
2695
|
+
"prOpenedStatus": "prOpenedStatus",
|
|
2696
|
+
"prMergedStatus": "prMergedStatus"
|
|
2667
2697
|
};
|
|
2668
2698
|
var CLI_TO_VSCODE_MAP = {
|
|
2669
2699
|
mainBranch: "mainBranch",
|
|
2670
2700
|
branchPattern: "branchNamePattern",
|
|
2671
2701
|
startWorkingStatus: "startWorkingStatus",
|
|
2672
|
-
doneStatus: "
|
|
2702
|
+
doneStatus: "doneStatus",
|
|
2703
|
+
prOpenedStatus: "prOpenedStatus",
|
|
2704
|
+
prMergedStatus: "prMergedStatus"
|
|
2673
2705
|
};
|
|
2674
2706
|
var DEFAULT_VALUES = {
|
|
2675
2707
|
mainBranch: "main",
|
|
2676
2708
|
branchPattern: "{user}/{number}-{title}",
|
|
2677
2709
|
startWorkingStatus: "In Progress",
|
|
2678
|
-
doneStatus: "Done"
|
|
2710
|
+
doneStatus: "Done",
|
|
2711
|
+
prOpenedStatus: "In Review",
|
|
2712
|
+
prMergedStatus: "Ready for Beta"
|
|
2679
2713
|
};
|
|
2680
2714
|
function normalizeVSCodeSettings(vscodeSettings) {
|
|
2681
2715
|
const result = {};
|
|
@@ -5914,6 +5948,7 @@ EOF
|
|
|
5914
5948
|
cleanupStaleAgents,
|
|
5915
5949
|
computeSettingsDiff,
|
|
5916
5950
|
createBranch,
|
|
5951
|
+
createBranchNoCheckout,
|
|
5917
5952
|
createIssueWorkflow,
|
|
5918
5953
|
createPRWorkflow,
|
|
5919
5954
|
createSessionWatcher,
|
package/dist/index.d.cts
CHANGED
|
@@ -539,6 +539,14 @@ declare class GitHubAPI {
|
|
|
539
539
|
* Update an item's status
|
|
540
540
|
*/
|
|
541
541
|
updateItemStatus(projectId: string, itemId: string, fieldId: string, optionId: string): Promise<boolean>;
|
|
542
|
+
/**
|
|
543
|
+
* Move an issue to a target status in its project.
|
|
544
|
+
* Returns { success, error? } — does not throw.
|
|
545
|
+
*/
|
|
546
|
+
moveIssueToStatus(repo: RepoInfo, issueNumber: number, targetStatus: string): Promise<{
|
|
547
|
+
success: boolean;
|
|
548
|
+
error?: string;
|
|
549
|
+
}>;
|
|
542
550
|
/**
|
|
543
551
|
* Find an item by issue number - direct lookup via issue's projectItems
|
|
544
552
|
* Much faster than iterating through all project items
|
|
@@ -805,6 +813,15 @@ declare function branchExists(branchName: string, options?: GitOptions): Promise
|
|
|
805
813
|
declare function createBranch(branchName: string, options?: GitOptions & {
|
|
806
814
|
startPoint?: string;
|
|
807
815
|
}): Promise<void>;
|
|
816
|
+
/**
|
|
817
|
+
* Create a new branch without switching to it.
|
|
818
|
+
* Uses `git branch` instead of `git checkout -b`, so the working tree is unaffected.
|
|
819
|
+
* Useful for parallel worktree workflows where you never want to change the current branch.
|
|
820
|
+
* @throws {GitError} If the branch already exists or the start point doesn't exist
|
|
821
|
+
*/
|
|
822
|
+
declare function createBranchNoCheckout(branchName: string, options?: GitOptions & {
|
|
823
|
+
startPoint?: string;
|
|
824
|
+
}): Promise<void>;
|
|
808
825
|
/**
|
|
809
826
|
* Checkout an existing branch.
|
|
810
827
|
* @throws {GitError} If the branch cannot be checked out (e.g., doesn't exist, uncommitted changes)
|
|
@@ -1021,7 +1038,7 @@ declare function buildOrgProjectUrl(org: string, projectNumber: number): string;
|
|
|
1021
1038
|
* The canonical setting keys used in sync operations.
|
|
1022
1039
|
* These are the CLI key names (used as the canonical form).
|
|
1023
1040
|
*/
|
|
1024
|
-
type SyncableSettingKey = 'mainBranch' | 'branchPattern' | 'startWorkingStatus' | 'doneStatus';
|
|
1041
|
+
type SyncableSettingKey = 'mainBranch' | 'branchPattern' | 'startWorkingStatus' | 'doneStatus' | 'prOpenedStatus' | 'prMergedStatus';
|
|
1025
1042
|
/**
|
|
1026
1043
|
* Settings that can be synced between CLI and VSCode.
|
|
1027
1044
|
* Uses CLI key names as the canonical form.
|
|
@@ -1031,6 +1048,8 @@ interface SyncableSettings {
|
|
|
1031
1048
|
branchPattern?: string;
|
|
1032
1049
|
startWorkingStatus?: string;
|
|
1033
1050
|
doneStatus?: string;
|
|
1051
|
+
prOpenedStatus?: string;
|
|
1052
|
+
prMergedStatus?: string;
|
|
1034
1053
|
}
|
|
1035
1054
|
/**
|
|
1036
1055
|
* A source of settings (CLI or VSCode)
|
|
@@ -3359,4 +3378,4 @@ declare function shouldAbort(results: HookResult[]): boolean;
|
|
|
3359
3378
|
*/
|
|
3360
3379
|
declare function hasHooksForEvent(event: EventType): boolean;
|
|
3361
3380
|
|
|
3362
|
-
export { type ActivityEvent, type AgentInstance, type AgentRegistry, type AgentSessionStatus, type AgentStatus, type AgentSummary, type ApiKeyProvider, type AssigneeInfo, type AuthError, type BaseEventPayload, type BlockingIssue, type BlockingRelationships, type BranchDashboardData, BranchLinker, CLI_TO_VSCODE_MAP, ClaudeClient, type ClaudeClientOptions, type ClaudeResult, type ClaudeTool, type Collaborator, type Commit, type ConflictChoices, type ConflictResolution, type ContentBlock, type CreateIssueOptions, type CreateIssueResult, type CreatePROptions, type CreatePRResult, type CreateWorktreeOptions, type CreateWorktreeResult, DEFAULT_RETRY_CONFIG, DEFAULT_VALUES, type DashboardHook, type DashboardOptions, type DateFieldValue, type DiffStats, type EventHook, type EventHookSettings, type EventHooksConfig, type EventPayload, type EventType, type ExpandIssueOptions, type ExpandedIssue, type FieldInfo, type FieldValue, type FieldValueConnection, type FileChange, type FormatStandupOptions, GHP_TOOLS, type GeneratePRDescriptionOptions, GitError, GitHubAPI, type GitHubAPIOptions, type GitOptions, type HookExecutionOptions, type HookExecutionResult, type HookExitCodes, type HookItem, type HookMode, type HookOutcome, type HookResponse, type HookResult, type HooksConfig, type IssueActivity, type IssueCreatedPayload, type IssueDetails, type IssueReference, type IssueRelationships, type IssueStartedPayload, type IterationFieldValue, type LabelInfo, type Message, type NumberFieldValue, type OnFailureBehavior, type PRInfo, type PermissionPrompt, type PlanEpicOptions, type PlanEpicResult, type PrCreatedPayload, type PrCreatingPayload, type PrMergedPayload, type PrePrPayload, type Project, type ProjectConfig, type ProjectConventions, type ProjectItem, type ProjectItemContent, type ProjectItemsQueryResponse, type ProjectV2, type ProjectV2Field, type ProjectV2Item, type ProjectV2View, type ProjectWithViews, type ProjectsQueryResponse, type RegisterAgentOptions, type RelatedIssue, type RemoveWorktreeOptions, type RemoveWorktreeResult, type RepoInfo, type ResolvedClaudeConfig, type ResolvedSettings, type RetryConfig, SETTING_DISPLAY_NAMES, SYNCABLE_KEYS, type SessionEvent, SessionWatcher, type SettingConflict, type SettingsDiff, type SettingsSource, type SingleSelectFieldValue, type StartIssueOptions, type StartIssueResult, type StatusField, type StreamCallbacks, type StreamErrorEvent, type StreamEvent, type StreamEventBase, type StreamMessageCompleteEvent, type StreamOptions, type StreamTextEvent, type StreamToolInputDeltaEvent, type StreamToolUseCompleteEvent, type StreamToolUseStartEvent, type SyncableSettingKey, type SyncableSettings, TOOL_NAMES, type TextFieldValue, type TokenProvider, type TokenUsage, type ToolContext, type ToolHandler, type ToolHandlers, type UpdateAgentOptions, VSCODE_TO_CLI_MAP, type IssueInfo as WorkflowIssueInfo, type WorkflowResult, type WorktreeInfo as WorkflowWorktreeInfo, type WorktreeCreatedPayload, type WorktreeInfo$1 as WorktreeInfo, type WorktreeRemovedPayload, addEventHook, addHook, branchExists, buildConventionsContext, buildIssueUrl, buildOrgProjectUrl, buildProjectUrl, buildPullRequestUrl, buildRepoUrl, calculateBackoffDelay, checkTmuxForPermission, checkoutBranch, index as claudePrompts, cleanupStaleAgents, computeSettingsDiff, createBranch, createIssueWorkflow, createPRWorkflow, createSessionWatcher, createWorktree, createWorktreeWorkflow, detectRepository, disableEventHook, disableHook, enableEventHook, enableHook, executeAllHooks, executeEventHook, executeHook, executeHooksForEvent, extractIssueNumberFromBranch, fetchOrigin, findSessionFile, formatAction, formatConflict, formatStandupText, gatherDashboardData, generateBranchName, generateWorktreePath, getAgent, getAgentByIssue, getAgentSummaries, getAllBranches, getChangedFiles, getCommitHistory, getCommitsAhead, getCommitsBehind, getCurrentBranch$1 as getCurrentBranch, getCurrentBranch as getDashboardCurrentBranch, getDefaultBaseBranch, getDefaultBranch, getDiffStats, getDiffSummary, getEnabledEventHooks, getEnabledHooks, getEventHook, getEventHooks, getEventHooksConfigPath, getEventSettings, getFullDiff, getGitHubRepo, getHook, getHooks, getHooksByCategory, getHooksConfigPath, getHooksForEvent, getIssueReferenceText, getLocalBranches, getRegistryPath, getRemoteBranches, getRepositoryRoot, getTools, getValidEventTypes, getValidModes, getValidOnFailureBehaviors, getWorktreeForBranch, hasDifferences, hasHooksForEvent, hasUncommittedChanges, isGitRepository, isTransientError, listAgents, listTags, listWorktrees, loadEventHooksConfig, loadHooksConfig, loadProjectConventions, loadRegistry, normalizeVSCodeSettings, parseBranchLink, parseGitHubUrl, parseIssueUrl, parseRateLimitDelay, parseSessionLine, parseSince, pullLatest, queries, registerAgent, removeBranchLinkFromBody, removeEventHook, removeHook, removeWorktree, removeWorktreeWorkflow, resolveConflicts, resolveRef, sanitizeForBranchName, saveEventHooksConfig, saveHooksConfig, saveRegistry, setBranchLinkInBody, shellEscape, shouldAbort, skip, startIssueWorkflow, substituteTemplateVariables, toVSCodeSettings, unregisterAgent, updateAgent, updateEventHook, updateHook, useCli, useCustom, useVSCode, validateNumericInput, validateSafeString, validateUrl, withRetry, worktreeExists, wrapWithRetry };
|
|
3381
|
+
export { type ActivityEvent, type AgentInstance, type AgentRegistry, type AgentSessionStatus, type AgentStatus, type AgentSummary, type ApiKeyProvider, type AssigneeInfo, type AuthError, type BaseEventPayload, type BlockingIssue, type BlockingRelationships, type BranchDashboardData, BranchLinker, CLI_TO_VSCODE_MAP, ClaudeClient, type ClaudeClientOptions, type ClaudeResult, type ClaudeTool, type Collaborator, type Commit, type ConflictChoices, type ConflictResolution, type ContentBlock, type CreateIssueOptions, type CreateIssueResult, type CreatePROptions, type CreatePRResult, type CreateWorktreeOptions, type CreateWorktreeResult, DEFAULT_RETRY_CONFIG, DEFAULT_VALUES, type DashboardHook, type DashboardOptions, type DateFieldValue, type DiffStats, type EventHook, type EventHookSettings, type EventHooksConfig, type EventPayload, type EventType, type ExpandIssueOptions, type ExpandedIssue, type FieldInfo, type FieldValue, type FieldValueConnection, type FileChange, type FormatStandupOptions, GHP_TOOLS, type GeneratePRDescriptionOptions, GitError, GitHubAPI, type GitHubAPIOptions, type GitOptions, type HookExecutionOptions, type HookExecutionResult, type HookExitCodes, type HookItem, type HookMode, type HookOutcome, type HookResponse, type HookResult, type HooksConfig, type IssueActivity, type IssueCreatedPayload, type IssueDetails, type IssueReference, type IssueRelationships, type IssueStartedPayload, type IterationFieldValue, type LabelInfo, type Message, type NumberFieldValue, type OnFailureBehavior, type PRInfo, type PermissionPrompt, type PlanEpicOptions, type PlanEpicResult, type PrCreatedPayload, type PrCreatingPayload, type PrMergedPayload, type PrePrPayload, type Project, type ProjectConfig, type ProjectConventions, type ProjectItem, type ProjectItemContent, type ProjectItemsQueryResponse, type ProjectV2, type ProjectV2Field, type ProjectV2Item, type ProjectV2View, type ProjectWithViews, type ProjectsQueryResponse, type RegisterAgentOptions, type RelatedIssue, type RemoveWorktreeOptions, type RemoveWorktreeResult, type RepoInfo, type ResolvedClaudeConfig, type ResolvedSettings, type RetryConfig, SETTING_DISPLAY_NAMES, SYNCABLE_KEYS, type SessionEvent, SessionWatcher, type SettingConflict, type SettingsDiff, type SettingsSource, type SingleSelectFieldValue, type StartIssueOptions, type StartIssueResult, type StatusField, type StreamCallbacks, type StreamErrorEvent, type StreamEvent, type StreamEventBase, type StreamMessageCompleteEvent, type StreamOptions, type StreamTextEvent, type StreamToolInputDeltaEvent, type StreamToolUseCompleteEvent, type StreamToolUseStartEvent, type SyncableSettingKey, type SyncableSettings, TOOL_NAMES, type TextFieldValue, type TokenProvider, type TokenUsage, type ToolContext, type ToolHandler, type ToolHandlers, type UpdateAgentOptions, VSCODE_TO_CLI_MAP, type IssueInfo as WorkflowIssueInfo, type WorkflowResult, type WorktreeInfo as WorkflowWorktreeInfo, type WorktreeCreatedPayload, type WorktreeInfo$1 as WorktreeInfo, type WorktreeRemovedPayload, addEventHook, addHook, branchExists, buildConventionsContext, buildIssueUrl, buildOrgProjectUrl, buildProjectUrl, buildPullRequestUrl, buildRepoUrl, calculateBackoffDelay, checkTmuxForPermission, checkoutBranch, index as claudePrompts, cleanupStaleAgents, computeSettingsDiff, createBranch, createBranchNoCheckout, createIssueWorkflow, createPRWorkflow, createSessionWatcher, createWorktree, createWorktreeWorkflow, detectRepository, disableEventHook, disableHook, enableEventHook, enableHook, executeAllHooks, executeEventHook, executeHook, executeHooksForEvent, extractIssueNumberFromBranch, fetchOrigin, findSessionFile, formatAction, formatConflict, formatStandupText, gatherDashboardData, generateBranchName, generateWorktreePath, getAgent, getAgentByIssue, getAgentSummaries, getAllBranches, getChangedFiles, getCommitHistory, getCommitsAhead, getCommitsBehind, getCurrentBranch$1 as getCurrentBranch, getCurrentBranch as getDashboardCurrentBranch, getDefaultBaseBranch, getDefaultBranch, getDiffStats, getDiffSummary, getEnabledEventHooks, getEnabledHooks, getEventHook, getEventHooks, getEventHooksConfigPath, getEventSettings, getFullDiff, getGitHubRepo, getHook, getHooks, getHooksByCategory, getHooksConfigPath, getHooksForEvent, getIssueReferenceText, getLocalBranches, getRegistryPath, getRemoteBranches, getRepositoryRoot, getTools, getValidEventTypes, getValidModes, getValidOnFailureBehaviors, getWorktreeForBranch, hasDifferences, hasHooksForEvent, hasUncommittedChanges, isGitRepository, isTransientError, listAgents, listTags, listWorktrees, loadEventHooksConfig, loadHooksConfig, loadProjectConventions, loadRegistry, normalizeVSCodeSettings, parseBranchLink, parseGitHubUrl, parseIssueUrl, parseRateLimitDelay, parseSessionLine, parseSince, pullLatest, queries, registerAgent, removeBranchLinkFromBody, removeEventHook, removeHook, removeWorktree, removeWorktreeWorkflow, resolveConflicts, resolveRef, sanitizeForBranchName, saveEventHooksConfig, saveHooksConfig, saveRegistry, setBranchLinkInBody, shellEscape, shouldAbort, skip, startIssueWorkflow, substituteTemplateVariables, toVSCodeSettings, unregisterAgent, updateAgent, updateEventHook, updateHook, useCli, useCustom, useVSCode, validateNumericInput, validateSafeString, validateUrl, withRetry, worktreeExists, wrapWithRetry };
|
package/dist/index.d.ts
CHANGED
|
@@ -539,6 +539,14 @@ declare class GitHubAPI {
|
|
|
539
539
|
* Update an item's status
|
|
540
540
|
*/
|
|
541
541
|
updateItemStatus(projectId: string, itemId: string, fieldId: string, optionId: string): Promise<boolean>;
|
|
542
|
+
/**
|
|
543
|
+
* Move an issue to a target status in its project.
|
|
544
|
+
* Returns { success, error? } — does not throw.
|
|
545
|
+
*/
|
|
546
|
+
moveIssueToStatus(repo: RepoInfo, issueNumber: number, targetStatus: string): Promise<{
|
|
547
|
+
success: boolean;
|
|
548
|
+
error?: string;
|
|
549
|
+
}>;
|
|
542
550
|
/**
|
|
543
551
|
* Find an item by issue number - direct lookup via issue's projectItems
|
|
544
552
|
* Much faster than iterating through all project items
|
|
@@ -805,6 +813,15 @@ declare function branchExists(branchName: string, options?: GitOptions): Promise
|
|
|
805
813
|
declare function createBranch(branchName: string, options?: GitOptions & {
|
|
806
814
|
startPoint?: string;
|
|
807
815
|
}): Promise<void>;
|
|
816
|
+
/**
|
|
817
|
+
* Create a new branch without switching to it.
|
|
818
|
+
* Uses `git branch` instead of `git checkout -b`, so the working tree is unaffected.
|
|
819
|
+
* Useful for parallel worktree workflows where you never want to change the current branch.
|
|
820
|
+
* @throws {GitError} If the branch already exists or the start point doesn't exist
|
|
821
|
+
*/
|
|
822
|
+
declare function createBranchNoCheckout(branchName: string, options?: GitOptions & {
|
|
823
|
+
startPoint?: string;
|
|
824
|
+
}): Promise<void>;
|
|
808
825
|
/**
|
|
809
826
|
* Checkout an existing branch.
|
|
810
827
|
* @throws {GitError} If the branch cannot be checked out (e.g., doesn't exist, uncommitted changes)
|
|
@@ -1021,7 +1038,7 @@ declare function buildOrgProjectUrl(org: string, projectNumber: number): string;
|
|
|
1021
1038
|
* The canonical setting keys used in sync operations.
|
|
1022
1039
|
* These are the CLI key names (used as the canonical form).
|
|
1023
1040
|
*/
|
|
1024
|
-
type SyncableSettingKey = 'mainBranch' | 'branchPattern' | 'startWorkingStatus' | 'doneStatus';
|
|
1041
|
+
type SyncableSettingKey = 'mainBranch' | 'branchPattern' | 'startWorkingStatus' | 'doneStatus' | 'prOpenedStatus' | 'prMergedStatus';
|
|
1025
1042
|
/**
|
|
1026
1043
|
* Settings that can be synced between CLI and VSCode.
|
|
1027
1044
|
* Uses CLI key names as the canonical form.
|
|
@@ -1031,6 +1048,8 @@ interface SyncableSettings {
|
|
|
1031
1048
|
branchPattern?: string;
|
|
1032
1049
|
startWorkingStatus?: string;
|
|
1033
1050
|
doneStatus?: string;
|
|
1051
|
+
prOpenedStatus?: string;
|
|
1052
|
+
prMergedStatus?: string;
|
|
1034
1053
|
}
|
|
1035
1054
|
/**
|
|
1036
1055
|
* A source of settings (CLI or VSCode)
|
|
@@ -3359,4 +3378,4 @@ declare function shouldAbort(results: HookResult[]): boolean;
|
|
|
3359
3378
|
*/
|
|
3360
3379
|
declare function hasHooksForEvent(event: EventType): boolean;
|
|
3361
3380
|
|
|
3362
|
-
export { type ActivityEvent, type AgentInstance, type AgentRegistry, type AgentSessionStatus, type AgentStatus, type AgentSummary, type ApiKeyProvider, type AssigneeInfo, type AuthError, type BaseEventPayload, type BlockingIssue, type BlockingRelationships, type BranchDashboardData, BranchLinker, CLI_TO_VSCODE_MAP, ClaudeClient, type ClaudeClientOptions, type ClaudeResult, type ClaudeTool, type Collaborator, type Commit, type ConflictChoices, type ConflictResolution, type ContentBlock, type CreateIssueOptions, type CreateIssueResult, type CreatePROptions, type CreatePRResult, type CreateWorktreeOptions, type CreateWorktreeResult, DEFAULT_RETRY_CONFIG, DEFAULT_VALUES, type DashboardHook, type DashboardOptions, type DateFieldValue, type DiffStats, type EventHook, type EventHookSettings, type EventHooksConfig, type EventPayload, type EventType, type ExpandIssueOptions, type ExpandedIssue, type FieldInfo, type FieldValue, type FieldValueConnection, type FileChange, type FormatStandupOptions, GHP_TOOLS, type GeneratePRDescriptionOptions, GitError, GitHubAPI, type GitHubAPIOptions, type GitOptions, type HookExecutionOptions, type HookExecutionResult, type HookExitCodes, type HookItem, type HookMode, type HookOutcome, type HookResponse, type HookResult, type HooksConfig, type IssueActivity, type IssueCreatedPayload, type IssueDetails, type IssueReference, type IssueRelationships, type IssueStartedPayload, type IterationFieldValue, type LabelInfo, type Message, type NumberFieldValue, type OnFailureBehavior, type PRInfo, type PermissionPrompt, type PlanEpicOptions, type PlanEpicResult, type PrCreatedPayload, type PrCreatingPayload, type PrMergedPayload, type PrePrPayload, type Project, type ProjectConfig, type ProjectConventions, type ProjectItem, type ProjectItemContent, type ProjectItemsQueryResponse, type ProjectV2, type ProjectV2Field, type ProjectV2Item, type ProjectV2View, type ProjectWithViews, type ProjectsQueryResponse, type RegisterAgentOptions, type RelatedIssue, type RemoveWorktreeOptions, type RemoveWorktreeResult, type RepoInfo, type ResolvedClaudeConfig, type ResolvedSettings, type RetryConfig, SETTING_DISPLAY_NAMES, SYNCABLE_KEYS, type SessionEvent, SessionWatcher, type SettingConflict, type SettingsDiff, type SettingsSource, type SingleSelectFieldValue, type StartIssueOptions, type StartIssueResult, type StatusField, type StreamCallbacks, type StreamErrorEvent, type StreamEvent, type StreamEventBase, type StreamMessageCompleteEvent, type StreamOptions, type StreamTextEvent, type StreamToolInputDeltaEvent, type StreamToolUseCompleteEvent, type StreamToolUseStartEvent, type SyncableSettingKey, type SyncableSettings, TOOL_NAMES, type TextFieldValue, type TokenProvider, type TokenUsage, type ToolContext, type ToolHandler, type ToolHandlers, type UpdateAgentOptions, VSCODE_TO_CLI_MAP, type IssueInfo as WorkflowIssueInfo, type WorkflowResult, type WorktreeInfo as WorkflowWorktreeInfo, type WorktreeCreatedPayload, type WorktreeInfo$1 as WorktreeInfo, type WorktreeRemovedPayload, addEventHook, addHook, branchExists, buildConventionsContext, buildIssueUrl, buildOrgProjectUrl, buildProjectUrl, buildPullRequestUrl, buildRepoUrl, calculateBackoffDelay, checkTmuxForPermission, checkoutBranch, index as claudePrompts, cleanupStaleAgents, computeSettingsDiff, createBranch, createIssueWorkflow, createPRWorkflow, createSessionWatcher, createWorktree, createWorktreeWorkflow, detectRepository, disableEventHook, disableHook, enableEventHook, enableHook, executeAllHooks, executeEventHook, executeHook, executeHooksForEvent, extractIssueNumberFromBranch, fetchOrigin, findSessionFile, formatAction, formatConflict, formatStandupText, gatherDashboardData, generateBranchName, generateWorktreePath, getAgent, getAgentByIssue, getAgentSummaries, getAllBranches, getChangedFiles, getCommitHistory, getCommitsAhead, getCommitsBehind, getCurrentBranch$1 as getCurrentBranch, getCurrentBranch as getDashboardCurrentBranch, getDefaultBaseBranch, getDefaultBranch, getDiffStats, getDiffSummary, getEnabledEventHooks, getEnabledHooks, getEventHook, getEventHooks, getEventHooksConfigPath, getEventSettings, getFullDiff, getGitHubRepo, getHook, getHooks, getHooksByCategory, getHooksConfigPath, getHooksForEvent, getIssueReferenceText, getLocalBranches, getRegistryPath, getRemoteBranches, getRepositoryRoot, getTools, getValidEventTypes, getValidModes, getValidOnFailureBehaviors, getWorktreeForBranch, hasDifferences, hasHooksForEvent, hasUncommittedChanges, isGitRepository, isTransientError, listAgents, listTags, listWorktrees, loadEventHooksConfig, loadHooksConfig, loadProjectConventions, loadRegistry, normalizeVSCodeSettings, parseBranchLink, parseGitHubUrl, parseIssueUrl, parseRateLimitDelay, parseSessionLine, parseSince, pullLatest, queries, registerAgent, removeBranchLinkFromBody, removeEventHook, removeHook, removeWorktree, removeWorktreeWorkflow, resolveConflicts, resolveRef, sanitizeForBranchName, saveEventHooksConfig, saveHooksConfig, saveRegistry, setBranchLinkInBody, shellEscape, shouldAbort, skip, startIssueWorkflow, substituteTemplateVariables, toVSCodeSettings, unregisterAgent, updateAgent, updateEventHook, updateHook, useCli, useCustom, useVSCode, validateNumericInput, validateSafeString, validateUrl, withRetry, worktreeExists, wrapWithRetry };
|
|
3381
|
+
export { type ActivityEvent, type AgentInstance, type AgentRegistry, type AgentSessionStatus, type AgentStatus, type AgentSummary, type ApiKeyProvider, type AssigneeInfo, type AuthError, type BaseEventPayload, type BlockingIssue, type BlockingRelationships, type BranchDashboardData, BranchLinker, CLI_TO_VSCODE_MAP, ClaudeClient, type ClaudeClientOptions, type ClaudeResult, type ClaudeTool, type Collaborator, type Commit, type ConflictChoices, type ConflictResolution, type ContentBlock, type CreateIssueOptions, type CreateIssueResult, type CreatePROptions, type CreatePRResult, type CreateWorktreeOptions, type CreateWorktreeResult, DEFAULT_RETRY_CONFIG, DEFAULT_VALUES, type DashboardHook, type DashboardOptions, type DateFieldValue, type DiffStats, type EventHook, type EventHookSettings, type EventHooksConfig, type EventPayload, type EventType, type ExpandIssueOptions, type ExpandedIssue, type FieldInfo, type FieldValue, type FieldValueConnection, type FileChange, type FormatStandupOptions, GHP_TOOLS, type GeneratePRDescriptionOptions, GitError, GitHubAPI, type GitHubAPIOptions, type GitOptions, type HookExecutionOptions, type HookExecutionResult, type HookExitCodes, type HookItem, type HookMode, type HookOutcome, type HookResponse, type HookResult, type HooksConfig, type IssueActivity, type IssueCreatedPayload, type IssueDetails, type IssueReference, type IssueRelationships, type IssueStartedPayload, type IterationFieldValue, type LabelInfo, type Message, type NumberFieldValue, type OnFailureBehavior, type PRInfo, type PermissionPrompt, type PlanEpicOptions, type PlanEpicResult, type PrCreatedPayload, type PrCreatingPayload, type PrMergedPayload, type PrePrPayload, type Project, type ProjectConfig, type ProjectConventions, type ProjectItem, type ProjectItemContent, type ProjectItemsQueryResponse, type ProjectV2, type ProjectV2Field, type ProjectV2Item, type ProjectV2View, type ProjectWithViews, type ProjectsQueryResponse, type RegisterAgentOptions, type RelatedIssue, type RemoveWorktreeOptions, type RemoveWorktreeResult, type RepoInfo, type ResolvedClaudeConfig, type ResolvedSettings, type RetryConfig, SETTING_DISPLAY_NAMES, SYNCABLE_KEYS, type SessionEvent, SessionWatcher, type SettingConflict, type SettingsDiff, type SettingsSource, type SingleSelectFieldValue, type StartIssueOptions, type StartIssueResult, type StatusField, type StreamCallbacks, type StreamErrorEvent, type StreamEvent, type StreamEventBase, type StreamMessageCompleteEvent, type StreamOptions, type StreamTextEvent, type StreamToolInputDeltaEvent, type StreamToolUseCompleteEvent, type StreamToolUseStartEvent, type SyncableSettingKey, type SyncableSettings, TOOL_NAMES, type TextFieldValue, type TokenProvider, type TokenUsage, type ToolContext, type ToolHandler, type ToolHandlers, type UpdateAgentOptions, VSCODE_TO_CLI_MAP, type IssueInfo as WorkflowIssueInfo, type WorkflowResult, type WorktreeInfo as WorkflowWorktreeInfo, type WorktreeCreatedPayload, type WorktreeInfo$1 as WorktreeInfo, type WorktreeRemovedPayload, addEventHook, addHook, branchExists, buildConventionsContext, buildIssueUrl, buildOrgProjectUrl, buildProjectUrl, buildPullRequestUrl, buildRepoUrl, calculateBackoffDelay, checkTmuxForPermission, checkoutBranch, index as claudePrompts, cleanupStaleAgents, computeSettingsDiff, createBranch, createBranchNoCheckout, createIssueWorkflow, createPRWorkflow, createSessionWatcher, createWorktree, createWorktreeWorkflow, detectRepository, disableEventHook, disableHook, enableEventHook, enableHook, executeAllHooks, executeEventHook, executeHook, executeHooksForEvent, extractIssueNumberFromBranch, fetchOrigin, findSessionFile, formatAction, formatConflict, formatStandupText, gatherDashboardData, generateBranchName, generateWorktreePath, getAgent, getAgentByIssue, getAgentSummaries, getAllBranches, getChangedFiles, getCommitHistory, getCommitsAhead, getCommitsBehind, getCurrentBranch$1 as getCurrentBranch, getCurrentBranch as getDashboardCurrentBranch, getDefaultBaseBranch, getDefaultBranch, getDiffStats, getDiffSummary, getEnabledEventHooks, getEnabledHooks, getEventHook, getEventHooks, getEventHooksConfigPath, getEventSettings, getFullDiff, getGitHubRepo, getHook, getHooks, getHooksByCategory, getHooksConfigPath, getHooksForEvent, getIssueReferenceText, getLocalBranches, getRegistryPath, getRemoteBranches, getRepositoryRoot, getTools, getValidEventTypes, getValidModes, getValidOnFailureBehaviors, getWorktreeForBranch, hasDifferences, hasHooksForEvent, hasUncommittedChanges, isGitRepository, isTransientError, listAgents, listTags, listWorktrees, loadEventHooksConfig, loadHooksConfig, loadProjectConventions, loadRegistry, normalizeVSCodeSettings, parseBranchLink, parseGitHubUrl, parseIssueUrl, parseRateLimitDelay, parseSessionLine, parseSince, pullLatest, queries, registerAgent, removeBranchLinkFromBody, removeEventHook, removeHook, removeWorktree, removeWorktreeWorkflow, resolveConflicts, resolveRef, sanitizeForBranchName, saveEventHooksConfig, saveHooksConfig, saveRegistry, setBranchLinkInBody, shellEscape, shouldAbort, skip, startIssueWorkflow, substituteTemplateVariables, toVSCodeSettings, unregisterAgent, updateAgent, updateEventHook, updateHook, useCli, useCustom, useVSCode, validateNumericInput, validateSafeString, validateUrl, withRetry, worktreeExists, wrapWithRetry };
|
package/dist/index.js
CHANGED
|
@@ -1109,6 +1109,21 @@ var GitHubAPI = class {
|
|
|
1109
1109
|
return false;
|
|
1110
1110
|
}
|
|
1111
1111
|
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Move an issue to a target status in its project.
|
|
1114
|
+
* Returns { success, error? } — does not throw.
|
|
1115
|
+
*/
|
|
1116
|
+
async moveIssueToStatus(repo, issueNumber, targetStatus) {
|
|
1117
|
+
const item = await this.findItemByNumber(repo, issueNumber);
|
|
1118
|
+
if (!item) return { success: false, error: `Issue #${issueNumber} not found in any project` };
|
|
1119
|
+
if (item.status === targetStatus) return { success: true };
|
|
1120
|
+
const statusField = await this.getStatusField(item.projectId);
|
|
1121
|
+
if (!statusField) return { success: false, error: "Could not find Status field on project" };
|
|
1122
|
+
const option = statusField.options.find((o) => o.name === targetStatus);
|
|
1123
|
+
if (!option) return { success: false, error: `Status "${targetStatus}" not found. Available: ${statusField.options.map((o) => o.name).join(", ")}` };
|
|
1124
|
+
const updated = await this.updateItemStatus(item.projectId, item.id, statusField.fieldId, option.id);
|
|
1125
|
+
return updated ? { success: true } : { success: false, error: "Failed to update status" };
|
|
1126
|
+
}
|
|
1112
1127
|
/**
|
|
1113
1128
|
* Find an item by issue number - direct lookup via issue's projectItems
|
|
1114
1129
|
* Much faster than iterating through all project items
|
|
@@ -2263,6 +2278,14 @@ async function createBranch(branchName, options = {}) {
|
|
|
2263
2278
|
const cmd = options.startPoint ? `git checkout -b "${branchName}" "${options.startPoint}"` : `git checkout -b "${branchName}"`;
|
|
2264
2279
|
await execGit(cmd, options);
|
|
2265
2280
|
}
|
|
2281
|
+
async function createBranchNoCheckout(branchName, options = {}) {
|
|
2282
|
+
validateBranchName(branchName);
|
|
2283
|
+
if (options.startPoint) {
|
|
2284
|
+
validateRefString(options.startPoint);
|
|
2285
|
+
}
|
|
2286
|
+
const cmd = options.startPoint ? `git branch "${branchName}" "${options.startPoint}"` : `git branch "${branchName}"`;
|
|
2287
|
+
await execGit(cmd, options);
|
|
2288
|
+
}
|
|
2266
2289
|
async function checkoutBranch(branchName, options = {}) {
|
|
2267
2290
|
await execGit(`git checkout "${branchName}"`, options);
|
|
2268
2291
|
}
|
|
@@ -2480,31 +2503,41 @@ var SYNCABLE_KEYS = [
|
|
|
2480
2503
|
"mainBranch",
|
|
2481
2504
|
"branchPattern",
|
|
2482
2505
|
"startWorkingStatus",
|
|
2483
|
-
"doneStatus"
|
|
2506
|
+
"doneStatus",
|
|
2507
|
+
"prOpenedStatus",
|
|
2508
|
+
"prMergedStatus"
|
|
2484
2509
|
];
|
|
2485
2510
|
var SETTING_DISPLAY_NAMES = {
|
|
2486
2511
|
mainBranch: "Main Branch",
|
|
2487
2512
|
branchPattern: "Branch Name Pattern",
|
|
2488
2513
|
startWorkingStatus: "Start Working Status",
|
|
2489
|
-
doneStatus: "Done
|
|
2514
|
+
doneStatus: "Done Status",
|
|
2515
|
+
prOpenedStatus: "PR Opened Status",
|
|
2516
|
+
prMergedStatus: "PR Merged Status"
|
|
2490
2517
|
};
|
|
2491
2518
|
var VSCODE_TO_CLI_MAP = {
|
|
2492
2519
|
"mainBranch": "mainBranch",
|
|
2493
2520
|
"branchNamePattern": "branchPattern",
|
|
2494
2521
|
"startWorkingStatus": "startWorkingStatus",
|
|
2495
|
-
"
|
|
2522
|
+
"doneStatus": "doneStatus",
|
|
2523
|
+
"prOpenedStatus": "prOpenedStatus",
|
|
2524
|
+
"prMergedStatus": "prMergedStatus"
|
|
2496
2525
|
};
|
|
2497
2526
|
var CLI_TO_VSCODE_MAP = {
|
|
2498
2527
|
mainBranch: "mainBranch",
|
|
2499
2528
|
branchPattern: "branchNamePattern",
|
|
2500
2529
|
startWorkingStatus: "startWorkingStatus",
|
|
2501
|
-
doneStatus: "
|
|
2530
|
+
doneStatus: "doneStatus",
|
|
2531
|
+
prOpenedStatus: "prOpenedStatus",
|
|
2532
|
+
prMergedStatus: "prMergedStatus"
|
|
2502
2533
|
};
|
|
2503
2534
|
var DEFAULT_VALUES = {
|
|
2504
2535
|
mainBranch: "main",
|
|
2505
2536
|
branchPattern: "{user}/{number}-{title}",
|
|
2506
2537
|
startWorkingStatus: "In Progress",
|
|
2507
|
-
doneStatus: "Done"
|
|
2538
|
+
doneStatus: "Done",
|
|
2539
|
+
prOpenedStatus: "In Review",
|
|
2540
|
+
prMergedStatus: "Ready for Beta"
|
|
2508
2541
|
};
|
|
2509
2542
|
function normalizeVSCodeSettings(vscodeSettings) {
|
|
2510
2543
|
const result = {};
|
|
@@ -5742,6 +5775,7 @@ export {
|
|
|
5742
5775
|
cleanupStaleAgents,
|
|
5743
5776
|
computeSettingsDiff,
|
|
5744
5777
|
createBranch,
|
|
5778
|
+
createBranchNoCheckout,
|
|
5745
5779
|
createIssueWorkflow,
|
|
5746
5780
|
createPRWorkflow,
|
|
5747
5781
|
createSessionWatcher,
|