@neturely/okffs 0.5.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +26 -1
  2. package/README.md +48 -12
  3. package/dist/config.d.ts +9 -0
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +56 -0
  6. package/dist/config.js.map +1 -1
  7. package/dist/git.d.ts +12 -0
  8. package/dist/git.d.ts.map +1 -1
  9. package/dist/git.js +31 -0
  10. package/dist/git.js.map +1 -1
  11. package/dist/github.d.ts +59 -1
  12. package/dist/github.d.ts.map +1 -1
  13. package/dist/github.js +62 -5
  14. package/dist/github.js.map +1 -1
  15. package/dist/index.js +18 -6
  16. package/dist/index.js.map +1 -1
  17. package/dist/issue_types.d.ts +5 -0
  18. package/dist/issue_types.d.ts.map +1 -0
  19. package/dist/issue_types.js +65 -0
  20. package/dist/issue_types.js.map +1 -0
  21. package/dist/prompts/address_pr_review.d.ts.map +1 -1
  22. package/dist/prompts/address_pr_review.js +6 -4
  23. package/dist/prompts/address_pr_review.js.map +1 -1
  24. package/dist/tools/create_issue.d.ts +3 -0
  25. package/dist/tools/create_issue.d.ts.map +1 -1
  26. package/dist/tools/create_issue.js +51 -41
  27. package/dist/tools/create_issue.js.map +1 -1
  28. package/dist/tools/create_issues_from_list.d.ts +6 -1
  29. package/dist/tools/create_issues_from_list.d.ts.map +1 -1
  30. package/dist/tools/create_issues_from_list.js +14 -1
  31. package/dist/tools/create_issues_from_list.js.map +1 -1
  32. package/dist/tools/create_pull_request.d.ts +4 -4
  33. package/dist/tools/create_pull_request.d.ts.map +1 -1
  34. package/dist/tools/create_pull_request.js +48 -27
  35. package/dist/tools/create_pull_request.js.map +1 -1
  36. package/dist/tools/list_issues.d.ts +1 -1
  37. package/dist/tools/list_issues.d.ts.map +1 -1
  38. package/dist/tools/list_issues.js +6 -1
  39. package/dist/tools/list_issues.js.map +1 -1
  40. package/dist/tools/merge_pull_request.d.ts +17 -0
  41. package/dist/tools/merge_pull_request.d.ts.map +1 -0
  42. package/dist/tools/merge_pull_request.js +142 -0
  43. package/dist/tools/merge_pull_request.js.map +1 -0
  44. package/dist/tools/plan.d.ts +6 -1
  45. package/dist/tools/plan.d.ts.map +1 -1
  46. package/dist/tools/plan.js +16 -1
  47. package/dist/tools/plan.js.map +1 -1
  48. package/dist/tools/promote_branch.d.ts +23 -0
  49. package/dist/tools/promote_branch.d.ts.map +1 -0
  50. package/dist/tools/promote_branch.js +152 -0
  51. package/dist/tools/promote_branch.js.map +1 -0
  52. package/dist/tools/set_issue_fields.d.ts +3 -0
  53. package/dist/tools/set_issue_fields.d.ts.map +1 -1
  54. package/dist/tools/set_issue_fields.js +40 -32
  55. package/dist/tools/set_issue_fields.js.map +1 -1
  56. package/dist/tools/update_issue.d.ts +32 -0
  57. package/dist/tools/update_issue.d.ts.map +1 -0
  58. package/dist/tools/update_issue.js +46 -0
  59. package/dist/tools/update_issue.js.map +1 -0
  60. package/package.json +1 -1
@@ -1,15 +1,15 @@
1
1
  import { z } from "zod";
2
- import { getIssue, extractBranchFromBody, getDefaultBranch, getBranchCommits, getIssueComments, createPullRequest, getOpenPullRequestForBranch, updatePullRequest, markPullRequestReady, getRepoDefaultBranch, addIssueComment, updateIssueBody, } from "../github.js";
2
+ import { getIssue, extractBranchFromBody, getDefaultBranch, getBranchCommits, getIssueComments, createPullRequest, createDraftPullRequest, getOpenPullRequestForBranch, updatePullRequest, markPullRequestReady, getRepoDefaultBranch, addIssueComment, updateIssueBody, } from "../github.js";
3
3
  import { config } from "../config.js";
4
4
  import { updateProjectDocs } from "../docs.js";
5
- import { git, currentBranch } from "../git.js";
5
+ import { git, currentBranch, pushEmptyInitCommit } from "../git.js";
6
6
  export const name = "create_pull_request";
7
- export const description = "Create a pull request for the current issue branch. Reads the issue, its comments, and commits to generate a PR title and body. Always includes Closes #N. If OKFFS_UPDATE_DOCS is true, writes a per-issue changelog fragment under .changes/unreleased/ (assembled into CHANGELOG.md at release time by prepare_release — not a direct CHANGELOG.md edit), plus SECURITY.md for security-related changes, and commits them onto the branch before creating the PR. If a PR already exists for the branch (e.g. a draft opened by create_issue under OKFFS_AUTO_PR=true), it is updated and marked ready for review instead of erroring. Posts a summary comment to the issue. If the issue has no okffs-created branch link (no **Branch:** line — e.g. a pre-okffs issue or a hand-made branch), pass an explicit branch, or check out a branch named {issue-number}-… and okffs infers it; either way it backfills the **Branch:** line. If the PR would target OKFFS_PROTECTED_BRANCH, the tool refuses without confirmed: true promoting into a protected branch must be explicitly confirmed by the user.";
7
+ export const description = "Create a pull request for the current issue branch. Reads the issue, its comments, and commits to generate a PR title and body. Always includes Closes #N. If OKFFS_UPDATE_DOCS is true, writes a per-issue changelog fragment under .changes/unreleased/ (assembled into CHANGELOG.md at release time by prepare_release — not a direct CHANGELOG.md edit), plus SECURITY.md for security-related changes, and commits them onto the branch before creating the PR. If a PR already exists for the branch (e.g. a draft opened by create_issue under OKFFS_AUTO_PR=true), it is updated and marked ready for review instead of erroring. By default, a branch with no commits ahead of base is refused (a PR needs a diff); pass allow_empty: true to instead push an empty init commit so the branch diverges and open a **draft** tracking PR — the same mechanism create_issue uses under OKFFS_AUTO_PR, for backfilling a PR onto a branch that was created empty. Posts a summary comment to the issue. If the issue has no okffs-created branch link (no **Branch:** line — e.g. a pre-okffs issue or a hand-made branch), pass an explicit branch, or check out a branch named {issue-number}-… and okffs infers it; either way it backfills the **Branch:** line. If the PR targets OKFFS_PROTECTED_BRANCH, okffs still opens it (opening is safe and reversible) and adds a reminder that the merge/tag stay with the user — OKFFS_PROTECTED_BRANCH governs autonomous merging, never PR creation.";
8
8
  export const inputSchema = z.object({
9
9
  issue_number: z.number().int().positive().describe("The issue number to create a PR for"),
10
10
  summary: z.string().optional().describe("Optional summary of what was done — used in PR body and issue comment"),
11
11
  branch: z.string().optional().describe("Branch to open the PR from, for issues whose branch okffs didn't create (no **Branch:** line in the body). Usually unnecessary — okffs-created issues carry the link, and a checked-out branch named {issue-number}-… is inferred automatically. When used, okffs backfills the **Branch:** line onto the issue."),
12
- confirmed: z.boolean().optional().describe("Required (true) only when the PR would target OKFFS_PROTECTED_BRANCHan explicit acknowledgement that this promotes into a protected branch"),
12
+ allow_empty: z.boolean().optional().describe("When the branch has no commits ahead of base, push an empty init commit so it diverges and open a DRAFT tracking PR instead of refusing. Opt-in (default false) use to backfill a PR onto a branch that was created empty. Ignored when the branch already has commits."),
13
13
  });
14
14
  export async function handler(input) {
15
15
  const issue = await getIssue(input.issue_number);
@@ -45,22 +45,17 @@ export async function handler(input) {
45
45
  };
46
46
  }
47
47
  const baseBranch = await getDefaultBranch();
48
- // Protected-branch gate: if this PR would promote into OKFFS_PROTECTED_BRANCH,
49
- // refuse without an explicit confirmed:true and hand back to the user. Runs
50
- // before any side effects (no branch checkout / push / PR yet) so a decline is
51
- // a clean no-op. Guards against an agent auto-driving a promotion into a
52
- // protected branch (e.g. a full release) — see #152.
53
- if (config.protectedBranch && baseBranch === config.protectedBranch && !input.confirmed) {
54
- return {
55
- content: [{
56
- type: "text",
57
- text: `⛔ This PR would target \`${baseBranch}\`, which is set as OKFFS_PROTECTED_BRANCH.\n\n` +
58
- `Promoting into a protected branch is a user-gated step. Do NOT proceed autonomously — ` +
59
- `confirm with the user, then re-call create_pull_request with confirmed: true. ` +
60
- `(This call made no changes — any pre-existing draft PR is left untouched.)`,
61
- }],
62
- };
63
- }
48
+ // OKFFS_PROTECTED_BRANCH governs autonomous *merging*, not PR *creation*.
49
+ // Opening a PR into a protected branch is non-destructive and reversible — the
50
+ // merge is the actual risk, and it's already gated by GitHub branch protection
51
+ // plus a manual merge by the user. okffs has no merge tool, so the invariant
52
+ // "never autonomously merge into the protected branch" holds for free; we do
53
+ // not block or gate opening the PR here. When the PR targets the protected
54
+ // branch we still surface a reminder that the merge/tag stay with the user
55
+ // (#181, revisiting the #152 behaviour).
56
+ const protectedNote = config.protectedBranch && baseBranch === config.protectedBranch
57
+ ? `\n\n🔒 This PR targets \`${baseBranch}\` (OKFFS_PROTECTED_BRANCH). okffs opened it but will **not** merge or tag — that stays with you.`
58
+ : "";
64
59
  // `Closes #N` only auto-closes the issue when the PR merges into the repo's
65
60
  // default branch. If OKFFS_BASE_BRANCH targets a non-default branch (e.g.
66
61
  // develop), warn that the issue must be closed manually after merge.
@@ -73,13 +68,33 @@ export async function handler(input) {
73
68
  `merging will **not** auto-close #${input.issue_number}. Close it manually with \`close_issue\` after merge.`;
74
69
  }
75
70
  }
76
- const commits = await getBranchCommits(branchName, baseBranch);
71
+ let commits = await getBranchCommits(branchName, baseBranch);
77
72
  const comments = await getIssueComments(input.issue_number);
73
+ // Whether this is a backfilled tracking PR (empty branch + allow_empty). Such
74
+ // PRs are opened as drafts — there's no real work to review yet.
75
+ let draftMode = false;
78
76
  if (commits.length === 0) {
79
- await addIssueComment(input.issue_number, `PR not created — branch \`${branchName}\` has no commits ahead of \`${baseBranch}\`. Push commits to the branch first, then create the PR.`);
80
- return {
81
- content: [{ type: "text", text: `PR not created — branch \`${branchName}\` has no commits ahead of \`${baseBranch}\`. Push commits first.` }],
82
- };
77
+ if (!input.allow_empty) {
78
+ await addIssueComment(input.issue_number, `PR not created — branch \`${branchName}\` has no commits ahead of \`${baseBranch}\`. Push commits to the branch first, or pass \`allow_empty: true\` to open a draft tracking PR.`);
79
+ return {
80
+ content: [{ type: "text", text: `PR not created — branch \`${branchName}\` has no commits ahead of \`${baseBranch}\`. Push commits first, or pass allow_empty: true for a draft tracking PR.` }],
81
+ };
82
+ }
83
+ // allow_empty: push an empty init commit so the branch diverges from base,
84
+ // then open a draft PR — the same mechanism create_issue uses under
85
+ // OKFFS_AUTO_PR (shared helper), applied to an already-created empty branch.
86
+ try {
87
+ pushEmptyInitCommit(branchName, input.issue_number);
88
+ }
89
+ catch (err) {
90
+ await addIssueComment(input.issue_number, `PR not created — branch \`${branchName}\` is empty and okffs could not push an init commit to diverge it from \`${baseBranch}\`. Push a commit manually, then retry.`);
91
+ return {
92
+ content: [{ type: "text", text: `PR not created — could not push an empty init commit to \`${branchName}\`: ${err instanceof Error ? err.message : String(err)}` }],
93
+ };
94
+ }
95
+ draftMode = true;
96
+ // Re-read so the PR body's Changes section reflects the new init commit.
97
+ commits = await getBranchCommits(branchName, baseBranch);
83
98
  }
84
99
  const title = `Close #${input.issue_number} - ${issue.title}`;
85
100
  const cleanedDescription = issue.body
@@ -190,6 +205,12 @@ export async function handler(input) {
190
205
  pr = { number: existing.number, html_url: existing.html_url };
191
206
  action = existing.draft ? "finalized (marked ready)" : "updated";
192
207
  }
208
+ else if (draftMode) {
209
+ // Empty-branch backfill — open a draft tracking PR (createDraftPullRequest
210
+ // returns just number + html_url, which is all we surface below).
211
+ pr = await createDraftPullRequest(title, body, branchName, baseBranch);
212
+ action = "created (draft tracking PR)";
213
+ }
193
214
  else {
194
215
  pr = await createPullRequest(title, body, branchName, baseBranch);
195
216
  action = "created";
@@ -198,7 +219,7 @@ export async function handler(input) {
198
219
  `PR ${action}: ${pr.html_url}`,
199
220
  ``,
200
221
  body,
201
- ].join("\n") + autoCloseNote;
222
+ ].join("\n") + autoCloseNote + protectedNote;
202
223
  await addIssueComment(input.issue_number, comment);
203
224
  // OKFFS_UPDATE_GUIDANCE: nudge the agent to keep CLAUDE.md in sync with any
204
225
  // new/changed functionality. Pushing the edit to this branch updates the PR.
@@ -206,7 +227,7 @@ export async function handler(input) {
206
227
  ? `\n\n💡 OKFFS_UPDATE_GUIDANCE is on: if this PR adds or changes functionality, config, or conventions, update CLAUDE.md to match (run the update_guidance prompt) and commit it to \`${branchName}\` so it's part of this PR.`
207
228
  : "";
208
229
  return {
209
- content: [{ type: "text", text: `PR #${pr.number} ${action}: ${pr.html_url}${autoCloseNote}${guidanceNote}` }],
230
+ content: [{ type: "text", text: `PR #${pr.number} ${action}: ${pr.html_url}${autoCloseNote}${protectedNote}${guidanceNote}` }],
210
231
  };
211
232
  }
212
233
  //# sourceMappingURL=create_pull_request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create_pull_request.js","sourceRoot":"","sources":["../../src/tools/create_pull_request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_pull_request.js","sourceRoot":"","sources":["../../src/tools/create_pull_request.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const name = "list_issues";
3
- export declare const description = "List all open GitHub issues, each with its branch, any linked open or draft PR, its board column (project), its Priority, and its relationships (parent, children, blocked-by, blocking) shown as a tree. Issues are ordered by Priority (Urgent \u2192 High \u2192 Medium \u2192 Low \u2192 unset) so the most important work surfaces first \u2014 factor Priority in when deciding what to do next. Replaces the need for a separate PR-listing tool.";
3
+ export declare const description = "List all open GitHub issues, each with its branch, any linked open or draft PR, its board column (project), its Priority, its native Issue Type (Task/Bug/Feature/\u2026, when the org defines them), and its relationships (parent, children, blocked-by, blocking) shown as a tree. Issues are ordered by Priority (Urgent \u2192 High \u2192 Medium \u2192 Low \u2192 unset) so the most important work surfaces first \u2014 factor Priority in when deciding what to do next. Replaces the need for a separate PR-listing tool.";
4
4
  export declare const inputSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
5
5
  export declare function handler(_input: z.infer<typeof inputSchema>): Promise<{
6
6
  content: {
@@ -1 +1 @@
1
- {"version":3,"file":"list_issues.d.ts","sourceRoot":"","sources":["../../src/tools/list_issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAElC,eAAO,MAAM,WAAW,6bAC2Y,CAAC;AAEpa,eAAO,MAAM,WAAW,gDAAe,CAAC;AAWxC,wBAAsB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;GAoHhE"}
1
+ {"version":3,"file":"list_issues.d.ts","sourceRoot":"","sources":["../../src/tools/list_issues.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,IAAI,gBAAgB,CAAC;AAElC,eAAO,MAAM,WAAW,ygBACkd,CAAC;AAE3e,eAAO,MAAM,WAAW,gDAAe,CAAC;AAWxC,wBAAsB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;GA0HhE"}
@@ -3,7 +3,7 @@ import { listIssues, listOpenPullRequests, parseRelationships, buildBranchName,
3
3
  import { config } from "../config.js";
4
4
  import { getProjectFieldsByIssueNumber, getOrgIssueFieldValuesByNumber } from "../projects.js";
5
5
  export const name = "list_issues";
6
- export const description = "List all open GitHub issues, each with its branch, any linked open or draft PR, its board column (project), its Priority, and its relationships (parent, children, blocked-by, blocking) shown as a tree. Issues are ordered by Priority (Urgent → High → Medium → Low → unset) so the most important work surfaces first — factor Priority in when deciding what to do next. Replaces the need for a separate PR-listing tool.";
6
+ export const description = "List all open GitHub issues, each with its branch, any linked open or draft PR, its board column (project), its Priority, its native Issue Type (Task/Bug/Feature/…, when the org defines them), and its relationships (parent, children, blocked-by, blocking) shown as a tree. Issues are ordered by Priority (Urgent → High → Medium → Low → unset) so the most important work surfaces first — factor Priority in when deciding what to do next. Replaces the need for a separate PR-listing tool.";
7
7
  export const inputSchema = z.object({});
8
8
  // Board Priority order (highest first); unknown named priorities rank between the
9
9
  // known set and unset, so custom option names still sort ahead of no priority.
@@ -106,6 +106,11 @@ export async function handler(_input) {
106
106
  if (effort) {
107
107
  lines.push(` effort: ${effort}`);
108
108
  }
109
+ // Native GitHub Issue Type (Task/Bug/Feature/…), read straight off the issue
110
+ // object — no extra fetch. Absent on user repos / when the org defines none.
111
+ if (issue.type) {
112
+ lines.push(` type: ${issue.type}`);
113
+ }
109
114
  // Relationships as a small tree under the issue.
110
115
  const relLines = [];
111
116
  if (rels.parent.length)
@@ -1 +1 @@
1
- {"version":3,"file":"list_issues.js","sourceRoot":"","sources":["../../src/tools/list_issues.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list_issues.js","sourceRoot":"","sources":["../../src/tools/list_issues.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ export declare const name = "merge_pull_request";
3
+ export declare const description: string;
4
+ export declare const inputSchema: z.ZodObject<{
5
+ issue_number: z.ZodNumber;
6
+ }, "strip", z.ZodTypeAny, {
7
+ issue_number: number;
8
+ }, {
9
+ issue_number: number;
10
+ }>;
11
+ export declare function handler(input: z.infer<typeof inputSchema>): Promise<{
12
+ content: {
13
+ type: "text";
14
+ text: string;
15
+ }[];
16
+ }>;
17
+ //# sourceMappingURL=merge_pull_request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge_pull_request.d.ts","sourceRoot":"","sources":["../../src/tools/merge_pull_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,eAAO,MAAM,IAAI,uBAAuB,CAAC;AAEzC,eAAO,MAAM,WAAW,QAK+R,CAAC;AAExT,eAAO,MAAM,WAAW;;;;;;EAEtB,CAAC;AAgBH,wBAAsB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;GAgJ/D"}
@@ -0,0 +1,142 @@
1
+ import { z } from "zod";
2
+ import { getIssue, extractBranchFromBody, getDefaultBranch, getRepoDefaultBranch, getOpenPullRequestForBranch, getPullRequest, getCombinedStatus, getCheckRuns, getPullRequestReview, mergePullRequest, closeIssue, addIssueComment, } from "../github.js";
3
+ import { config } from "../config.js";
4
+ export const name = "merge_pull_request";
5
+ export const description = "Autonomously merge a GREEN, review-resolved issue PR into the BASE branch (e.g. develop) using the configured per-tier merge method (OKFFS_BASE_MERGE_METHOD, default squash). " +
6
+ "This is the ONE okffs action that merges — every other tool only opens PRs and hands back. It is therefore heavily gated and OPT-IN: it does nothing unless OKFFS_AUTO_MERGE_BASE=true. " +
7
+ "It NEVER merges OKFFS_PROTECTED_BRANCH (e.g. main) — that stays a manual, user-driven merge/tag — and refuses entirely if OKFFS_PROTECTED_BRANCH is unset, so it can't merge into an unnamed protected branch. " +
8
+ "Before merging it independently verifies (not merely trusting branch-protection rules): the PR targets the base tier and not the protected branch; it is open, not a draft, and free of conflicts; all commit statuses AND check runs on the head are green (no failing or pending checks); the PR is not blocked by a required gate; and every review thread is resolved. Any unmet gate → it refuses with an actionable reason and does not merge. " +
9
+ "On success it merges, comments on the issue, and — when the base isn't the repo default (so GitHub's Closes #N won't auto-close) — closes the issue to complete the loop. Use for landing small review-fix / feature PRs into develop without a human merge; the develop→main promotion always stays with the user.";
10
+ export const inputSchema = z.object({
11
+ issue_number: z.number().int().positive().describe("The issue whose PR (into the base branch) should be merged"),
12
+ });
13
+ const text = (t) => ({ content: [{ type: "text", text: t }] });
14
+ // Poll the PR until GitHub finishes computing `mergeable` (it returns null right
15
+ // after a push). A few short retries; if it never settles we refuse rather than
16
+ // guess. Uses setTimeout (not a shell sleep) so it works inside the server.
17
+ async function getPullRequestWhenComputed(prNumber) {
18
+ let detail = await getPullRequest(prNumber);
19
+ for (let i = 0; detail.mergeable === null && i < 5; i++) {
20
+ await new Promise((r) => setTimeout(r, 800));
21
+ detail = await getPullRequest(prNumber);
22
+ }
23
+ return detail;
24
+ }
25
+ export async function handler(input) {
26
+ // ── Gate 1: opt-in ────────────────────────────────────────────────────────
27
+ if (!config.autoMergeBase) {
28
+ return text("Autonomous merge is off. okffs will not merge a PR unless OKFFS_AUTO_MERGE_BASE=true — set it to opt in " +
29
+ "(the develop→main promotion always stays a manual, user-driven merge regardless).");
30
+ }
31
+ // ── Gate 2: protected branch must be named ────────────────────────────────
32
+ if (!config.protectedBranch) {
33
+ return text("[okffs] Refusing to merge: OKFFS_PROTECTED_BRANCH is unset. okffs must know which branch it may never merge " +
34
+ "into before it merges anything — set OKFFS_PROTECTED_BRANCH (e.g. main) so autonomous merges can be confined to the base tier.");
35
+ }
36
+ const issue = await getIssue(input.issue_number);
37
+ const branch = extractBranchFromBody(issue.body);
38
+ if (!branch) {
39
+ return text(`Issue #${input.issue_number} has no associated branch (no **Branch:** line), so there's no PR to merge.`);
40
+ }
41
+ const baseTier = await getDefaultBranch(); // OKFFS_BASE_BRANCH or the repo default
42
+ // Misconfiguration guard: the base tier must not itself be the protected branch.
43
+ if (baseTier === config.protectedBranch) {
44
+ return text(`[okffs] Refusing to merge: the base branch (\`${baseTier}\`) is the same as OKFFS_PROTECTED_BRANCH. ` +
45
+ "okffs never autonomously merges the protected branch — set OKFFS_BASE_BRANCH to a distinct base tier (e.g. develop).");
46
+ }
47
+ const prRef = await getOpenPullRequestForBranch(branch, baseTier);
48
+ if (!prRef) {
49
+ return text(`No open PR found for branch \`${branch}\` into \`${baseTier}\`. Open one with create_pull_request first.`);
50
+ }
51
+ const pr = await getPullRequestWhenComputed(prRef.number);
52
+ const label = `PR #${pr.number} (${branch} → ${pr.base.ref})`;
53
+ // ── Gate 3: target is the base tier, never the protected branch ───────────
54
+ if (pr.base.ref === config.protectedBranch) {
55
+ return text(`[okffs] Refusing to merge ${label}: it targets the protected branch \`${config.protectedBranch}\`. ` +
56
+ "Promotion into the protected branch is a manual, user-driven merge (use promote_branch to open it) — okffs never merges it.");
57
+ }
58
+ if (pr.base.ref !== baseTier) {
59
+ return text(`[okffs] Refusing to merge ${label}: it targets \`${pr.base.ref}\`, not the base tier \`${baseTier}\`. ` +
60
+ "Autonomous merge only lands issue PRs into the base branch.");
61
+ }
62
+ // ── Basic state: open, not draft, not already merged ──────────────────────
63
+ if (pr.merged)
64
+ return text(`${label} is already merged — nothing to do.`);
65
+ if (pr.state !== "open")
66
+ return text(`[okffs] Refusing to merge ${label}: the PR is ${pr.state}, not open.`);
67
+ if (pr.draft)
68
+ return text(`[okffs] Refusing to merge ${label}: it is still a draft. Mark it ready (e.g. create_pull_request finalizes it) first.`);
69
+ // ── Conflicts / needs-update / required-gate signals (mergeable_state) ────
70
+ if (pr.mergeable === false || pr.mergeable_state === "dirty") {
71
+ return text(`[okffs] Refusing to merge ${label}: it has merge conflicts with \`${baseTier}\`. Resolve them, then retry.`);
72
+ }
73
+ if (pr.mergeable_state === "behind") {
74
+ return text(`[okffs] Refusing to merge ${label}: the branch is behind \`${baseTier}\`. Update it (merge/rebase base in), then retry.`);
75
+ }
76
+ if (pr.mergeable_state === "blocked") {
77
+ return text(`[okffs] Refusing to merge ${label}: GitHub reports it as blocked by a required gate (required review or required check not yet satisfied).`);
78
+ }
79
+ if (pr.mergeable === null || pr.mergeable_state === "unknown") {
80
+ return text(`[okffs] Refusing to merge ${label}: GitHub hasn't finished computing its mergeability. Try again shortly.`);
81
+ }
82
+ // ── Gate 4: independently verify checks are green (don't trust the ruleset) ─
83
+ // A ruleset may require NO status checks, yet CI can still be red — so verify
84
+ // the head commit's statuses AND check runs ourselves. Any failing or pending
85
+ // check refuses the merge.
86
+ const [combined, checks] = await Promise.all([
87
+ getCombinedStatus(pr.head.sha),
88
+ getCheckRuns(pr.head.sha),
89
+ ]);
90
+ const badStatuses = combined.statuses
91
+ .filter((s) => s.state !== "success")
92
+ .map((s) => `${s.context} (${s.state})`);
93
+ const badChecks = checks.check_runs
94
+ .filter((c) => c.status !== "completed" || !["success", "neutral", "skipped"].includes(c.conclusion ?? ""))
95
+ .map((c) => `${c.name} (${c.status === "completed" ? c.conclusion : c.status})`);
96
+ const failing = [...badStatuses, ...badChecks];
97
+ if (failing.length > 0) {
98
+ return text(`[okffs] Refusing to merge ${label}: not all checks are green. Outstanding: ${failing.join(", ")}. ` +
99
+ "Wait for them to pass (or fix them), then retry.");
100
+ }
101
+ // ── Gate 5: every review thread must be resolved ──────────────────────────
102
+ const review = await getPullRequestReview(pr.number);
103
+ const unresolved = review.threads.filter((t) => !t.isResolved && t.comments.length > 0);
104
+ if (unresolved.length > 0) {
105
+ return text(`[okffs] Refusing to merge ${label}: ${unresolved.length} review thread(s) still unresolved. ` +
106
+ "Address and resolve them (see the address_pr_review prompt), then retry.");
107
+ }
108
+ // ── All gates passed — merge with the base-tier method ────────────────────
109
+ const method = config.baseMergeMethod;
110
+ try {
111
+ await mergePullRequest(pr.number, method);
112
+ }
113
+ catch (err) {
114
+ return text(`[okffs] Merge of ${label} failed at the GitHub API: ${err instanceof Error ? err.message : String(err)}`);
115
+ }
116
+ const lines = [`✅ Merged ${label} into \`${baseTier}\` via ${method}.`];
117
+ // Complete the loop: `Closes #N` only auto-closes when merging into the repo
118
+ // default. For a non-default base tier (e.g. develop) the issue stays open, so
119
+ // close it here. Non-fatal — the merge already succeeded.
120
+ const repoDefault = await getRepoDefaultBranch();
121
+ if (baseTier !== repoDefault) {
122
+ try {
123
+ await closeIssue(input.issue_number);
124
+ lines.push(`Closed #${input.issue_number} (merging into \`${baseTier}\` doesn't trigger GitHub's auto-close).`);
125
+ }
126
+ catch (err) {
127
+ lines.push(`⚠ Could not auto-close #${input.issue_number} — close it manually. (${err instanceof Error ? err.message : String(err)})`);
128
+ }
129
+ }
130
+ else {
131
+ lines.push(`GitHub will auto-close #${input.issue_number} via \`Closes #${input.issue_number}\` (merged into the default branch).`);
132
+ }
133
+ // Log the merge on the issue for an audit trail.
134
+ try {
135
+ await addIssueComment(input.issue_number, lines.join("\n"));
136
+ }
137
+ catch {
138
+ /* non-fatal: the response still reports the outcome */
139
+ }
140
+ return text(lines.join("\n"));
141
+ }
142
+ //# sourceMappingURL=merge_pull_request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge_pull_request.js","sourceRoot":"","sources":["../../src/tools/merge_pull_request.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const name = "plan";
3
- export declare const description = "Plan a piece of work and create all the resulting GitHub issues (with branches, draft PRs when OKFFS_AUTO_PR=true, and board placement when OKFFS_PROJECT_AUTO_ADD=true) in one shot. Given a free-text description of the work, break it down yourself into a structured list of issues \u2014 each with a title, description, inferred labels, an inferred priority/effort where you can judge it, and any relationships between them \u2014 and pass that breakdown as the tasks array. Infer labels from GitHub's defaults: bug, documentation, duplicate, enhancement, good first issue, help wanted, invalid, question, wontfix. Express dependencies via per-task relationships, referencing other tasks by their 1-based position in the list. Two-step confirmation: call once to preview the plan, then re-call with confirmed: true to create everything.";
3
+ export declare const description = "Plan a piece of work and create all the resulting GitHub issues (with branches, draft PRs when OKFFS_AUTO_PR=true, and board placement when OKFFS_PROJECT_AUTO_ADD=true) in one shot. Given a free-text description of the work, break it down yourself into a structured list of issues \u2014 each with a title, description, inferred labels, an inferred priority/effort where you can judge it, an inferred native GitHub Issue Type (Task/Bug/Feature/\u2026 \u2014 commonly Epic for the overall effort and Task/Story/Feature/Bug for its children), and any relationships between them \u2014 and pass that breakdown as the tasks array. Infer labels from GitHub's defaults: bug, documentation, duplicate, enhancement, good first issue, help wanted, invalid, question, wontfix. Express dependencies via per-task relationships, referencing other tasks by their 1-based position in the list. Two-step confirmation: call once to preview the plan, then re-call with confirmed: true to create everything.";
4
4
  export declare const inputSchema: z.ZodObject<{
5
5
  description: z.ZodString;
6
6
  tasks: z.ZodArray<z.ZodObject<{
@@ -11,6 +11,7 @@ export declare const inputSchema: z.ZodObject<{
11
11
  milestone: z.ZodOptional<z.ZodNumber>;
12
12
  priority: z.ZodOptional<z.ZodString>;
13
13
  effort: z.ZodOptional<z.ZodString>;
14
+ type: z.ZodOptional<z.ZodString>;
14
15
  relationships: z.ZodOptional<z.ZodArray<z.ZodObject<{
15
16
  type: z.ZodEnum<["blocked_by", "blocking", "parent"]>;
16
17
  target: z.ZodNumber;
@@ -24,6 +25,7 @@ export declare const inputSchema: z.ZodObject<{
24
25
  }, "strip", z.ZodTypeAny, {
25
26
  title: string;
26
27
  description: string;
28
+ type?: string | undefined;
27
29
  priority?: string | undefined;
28
30
  effort?: string | undefined;
29
31
  assignees?: string[] | undefined;
@@ -36,6 +38,7 @@ export declare const inputSchema: z.ZodObject<{
36
38
  }, {
37
39
  title: string;
38
40
  description: string;
41
+ type?: string | undefined;
39
42
  priority?: string | undefined;
40
43
  effort?: string | undefined;
41
44
  assignees?: string[] | undefined;
@@ -52,6 +55,7 @@ export declare const inputSchema: z.ZodObject<{
52
55
  tasks: {
53
56
  title: string;
54
57
  description: string;
58
+ type?: string | undefined;
55
59
  priority?: string | undefined;
56
60
  effort?: string | undefined;
57
61
  assignees?: string[] | undefined;
@@ -68,6 +72,7 @@ export declare const inputSchema: z.ZodObject<{
68
72
  tasks: {
69
73
  title: string;
70
74
  description: string;
75
+ type?: string | undefined;
71
76
  priority?: string | undefined;
72
77
  effort?: string | undefined;
73
78
  assignees?: string[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B,eAAO,MAAM,WAAW,y0BACsyB,CAAC;AAiC/zB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAStB,CAAC;AAQH,wBAAsB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;GAuM/D"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuBxB,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B,eAAO,MAAM,WAAW,i+BACo7B,CAAC;AAoC78B,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAStB,CAAC;AAQH,wBAAsB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;GAyN/D"}
@@ -3,8 +3,9 @@ import { createIssue, updateIssueBody, getDefaultBranch, getRef, createBranch, b
3
3
  import { config } from "../config.js";
4
4
  import { git, currentBranch } from "../git.js";
5
5
  import { boardAutoAddEnabled, addIssueToBoard, applyInitialStatus, renderBoardLines, } from "../board.js";
6
+ import { applyIssueType } from "../issue_types.js";
6
7
  export const name = "plan";
7
- export const description = "Plan a piece of work and create all the resulting GitHub issues (with branches, draft PRs when OKFFS_AUTO_PR=true, and board placement when OKFFS_PROJECT_AUTO_ADD=true) in one shot. Given a free-text description of the work, break it down yourself into a structured list of issues — each with a title, description, inferred labels, an inferred priority/effort where you can judge it, and any relationships between them — and pass that breakdown as the tasks array. Infer labels from GitHub's defaults: bug, documentation, duplicate, enhancement, good first issue, help wanted, invalid, question, wontfix. Express dependencies via per-task relationships, referencing other tasks by their 1-based position in the list. Two-step confirmation: call once to preview the plan, then re-call with confirmed: true to create everything.";
8
+ export const description = "Plan a piece of work and create all the resulting GitHub issues (with branches, draft PRs when OKFFS_AUTO_PR=true, and board placement when OKFFS_PROJECT_AUTO_ADD=true) in one shot. Given a free-text description of the work, break it down yourself into a structured list of issues — each with a title, description, inferred labels, an inferred priority/effort where you can judge it, an inferred native GitHub Issue Type (Task/Bug/Feature/… — commonly Epic for the overall effort and Task/Story/Feature/Bug for its children), and any relationships between them — and pass that breakdown as the tasks array. Infer labels from GitHub's defaults: bug, documentation, duplicate, enhancement, good first issue, help wanted, invalid, question, wontfix. Express dependencies via per-task relationships, referencing other tasks by their 1-based position in the list. Two-step confirmation: call once to preview the plan, then re-call with confirmed: true to create everything.";
8
9
  const relationshipSchema = z.object({
9
10
  type: z
10
11
  .enum(["blocked_by", "blocking", "parent"])
@@ -23,6 +24,7 @@ const taskSchema = z.object({
23
24
  milestone: z.number().int().optional().describe("Milestone number to assign"),
24
25
  priority: z.string().optional().describe("Optional Project board Priority (e.g. Urgent, High, Medium, Low). Only applied when OKFFS_PROJECT_AUTO_ADD=true; falls back to OKFFS_DEFAULT_PRIORITY when omitted."),
25
26
  effort: z.string().optional().describe("Optional Project board Effort (e.g. High, Medium, Low). Only applied when OKFFS_PROJECT_AUTO_ADD=true; falls back to OKFFS_DEFAULT_EFFORT when omitted."),
27
+ type: z.string().optional().describe("Optional native GitHub Issue Type (e.g. Task, Bug, Feature, Epic, Story) — matched against the org's enabled Issue Types. Skipped cleanly when unavailable; falls back to OKFFS_DEFAULT_TYPE when omitted."),
26
28
  relationships: z
27
29
  .array(relationshipSchema)
28
30
  .optional()
@@ -78,11 +80,17 @@ export async function handler(input) {
78
80
  const resolvedLabels = [...new Set([...(task.labels ?? []), ...config.defaultLabels])];
79
81
  const resolvedPriority = task.priority ?? config.defaultPriority;
80
82
  const resolvedEffort = task.effort ?? config.defaultEffort;
83
+ const resolvedType = task.type ?? config.defaultType;
81
84
  const issue = await createIssue(task.title, task.description, resolvedAssignees, resolvedLabels, task.milestone);
82
85
  const branchName = buildBranchName(issue.number, task.title);
83
86
  await createBranch(branchName, ref.object.sha);
84
87
  const body = `${task.description}\n\n**Branch:** \`${branchName}\``;
85
88
  await updateIssueBody(issue.number, body);
89
+ // Native Issue Type — non-fatal per task, surfaced in the result below.
90
+ let typeOutcome = null;
91
+ if (resolvedType) {
92
+ typeOutcome = await applyIssueType(issue.number, resolvedType);
93
+ }
86
94
  // Add to the board + set Priority/Effort now; the initial Status is applied
87
95
  // in a later pass, after any draft PR, so it wins GitHub's linked-PR
88
96
  // "In Progress" promotion (#103). Non-fatal and surfaced per issue (#144).
@@ -105,9 +113,11 @@ export async function handler(input) {
105
113
  relationships: task.relationships ?? [],
106
114
  resolvedPriority,
107
115
  resolvedEffort,
116
+ resolvedType,
108
117
  boardAdd,
109
118
  boardError,
110
119
  initialStatus: null,
120
+ typeOutcome,
111
121
  });
112
122
  }
113
123
  // Second pass: resolve relationship targets (1-based task indices) to issue
@@ -187,6 +197,11 @@ export async function handler(input) {
187
197
  initialStatus: entry.initialStatus,
188
198
  indent: " ",
189
199
  }));
200
+ if (entry.typeOutcome) {
201
+ lines.push("applied" in entry.typeOutcome
202
+ ? ` Type: ${entry.typeOutcome.applied}`
203
+ : ` ⚠ Type "${entry.resolvedType}" not set — ${entry.typeOutcome.skipped}`);
204
+ }
190
205
  return lines.join("\n");
191
206
  });
192
207
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/tools/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ export declare const name = "promote_branch";
3
+ export declare const description: string;
4
+ export declare const inputSchema: z.ZodObject<{
5
+ head: z.ZodOptional<z.ZodString>;
6
+ base: z.ZodOptional<z.ZodString>;
7
+ summary: z.ZodOptional<z.ZodString>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ summary?: string | undefined;
10
+ head?: string | undefined;
11
+ base?: string | undefined;
12
+ }, {
13
+ summary?: string | undefined;
14
+ head?: string | undefined;
15
+ base?: string | undefined;
16
+ }>;
17
+ export declare function handler(input: z.infer<typeof inputSchema>): Promise<{
18
+ content: {
19
+ type: "text";
20
+ text: string;
21
+ }[];
22
+ }>;
23
+ //# sourceMappingURL=promote_branch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote_branch.d.ts","sourceRoot":"","sources":["../../src/tools/promote_branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,IAAI,mBAAmB,CAAC;AAErC,eAAO,MAAM,WAAW,QAUwF,CAAC;AAEjH,eAAO,MAAM,WAAW;;;;;;;;;;;;EAatB,CAAC;AAIH,wBAAsB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC;;;;;GAoI/D"}