@brainervirus/workit-opencode 0.8.2 → 0.8.4

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 (2) hide show
  1. package/dist/plugin.js +32 -4
  2. package/package.json +2 -2
package/dist/plugin.js CHANGED
@@ -2355,7 +2355,10 @@ function vcsConfig(mode, cwd) {
2355
2355
  const root2 = vcsCwd(cwd);
2356
2356
  const determinateRoot = cwd !== undefined || process.env.WORKFLOW_WORKSPACE_ROOT !== undefined;
2357
2357
  const provider = String(wsVcs.provider ?? (determinateRoot ? remoteProvider(root2) : null) ?? cfg.provider ?? "gitlab").toLowerCase();
2358
- const defaultTarget = String(wsVcs.defaultTargetBranch ?? cfg.defaultTargetBranch ?? resolveBranchPolicyFor(root2).defaultTargetBranch ?? "develop");
2358
+ const wp = ws?.branchPolicy ?? {};
2359
+ const hasWorkspacePolicy = typeof wp.preset === "string" && Object.hasOwn(PRESETS, wp.preset);
2360
+ const policyDefault = resolveBranchPolicyFor(root2).defaultTargetBranch;
2361
+ const defaultTarget = String(wsVcs.defaultTargetBranch ?? (hasWorkspacePolicy ? policyDefault : cfg.defaultTargetBranch ?? policyDefault) ?? "develop");
2359
2362
  const linkIssues = typeof wsYt.link_issues === "boolean" ? wsYt.link_issues : null;
2360
2363
  const youtrackBaseUrl = typeof wsYt.baseUrl === "string" ? wsYt.baseUrl : null;
2361
2364
  let issuesProvider = null;
@@ -5623,7 +5626,8 @@ class HostReceiptStore {
5623
5626
  return { ok: true, receipt };
5624
5627
  }
5625
5628
  }
5626
- var sameChoiceLabel = (a, b) => a.toLowerCase() === b.toLowerCase();
5629
+ var sameChoiceLabel = (a, b) => normalizeLabel(a) === normalizeLabel(b);
5630
+ var normalizeLabel = (s) => s.replace(/\s*\([^)]*\)/g, " ").replace(/\s*\bfirst\b\s*$/i, " ").replace(/[^a-z0-9]+/gi, " ").trim().toLowerCase();
5627
5631
  var createOpenCodeEvidence = (receipt) => ({
5628
5632
  host: "opencode",
5629
5633
  attested: true,
@@ -19115,8 +19119,9 @@ function prCreate(env, cwd) {
19115
19119
  if (provider !== "gitlab" && provider !== "github")
19116
19120
  return { error: `unsupported provider: ${provider}` };
19117
19121
  const targetOverride = env.WF_PR_TARGET;
19118
- const target = targetOverride || String(cfg.defaultTargetBranch ?? policy2.defaultTargetBranch ?? "develop");
19119
- if (targetOverride) {
19122
+ const resolvedDefault = String(cfg.defaultTargetBranch ?? policy2.defaultTargetBranch ?? "develop");
19123
+ const target = targetOverride || resolvedDefault;
19124
+ if (targetOverride && targetOverride !== resolvedDefault) {
19120
19125
  const { allowed, protected: protectedTargets } = policy2;
19121
19126
  if (protectedTargets.has(targetOverride.toLowerCase()))
19122
19127
  return {
@@ -19224,6 +19229,29 @@ function prCreate(env, cwd) {
19224
19229
  cmd.push("--yes");
19225
19230
  cmdEnv = { ...process.env, PATH: process.env.PATH ?? "", GITLAB_TOKEN: token };
19226
19231
  } else {
19232
+ if (push) {
19233
+ if (!branch) {
19234
+ return {
19235
+ error: "push failed",
19236
+ provider,
19237
+ mode: "push",
19238
+ targetBranch: target,
19239
+ stderr: "empty current branch (detached HEAD or unborn HEAD)"
19240
+ };
19241
+ }
19242
+ const pushRes = spawnSync7("git", ["push", "-u", "origin", branch], {
19243
+ cwd: root2,
19244
+ encoding: "utf8"
19245
+ });
19246
+ if (pushRes.status !== 0) {
19247
+ return {
19248
+ error: "push failed",
19249
+ provider,
19250
+ targetBranch: target,
19251
+ stderr: (pushRes.stderr ?? "").slice(0, 800)
19252
+ };
19253
+ }
19254
+ }
19227
19255
  cmd = ["gh", "pr", "create", "--title", title, "--base", target];
19228
19256
  if (finalBody)
19229
19257
  cmd.push("--body", finalBody);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brainervirus/workit-opencode",
3
- "version": "0.8.2",
3
+ "version": "0.8.4",
4
4
  "private": false,
5
5
  "description": "Workit OpenCode plugin (thin wrapper over @brainervirus/workit-core)",
6
6
  "keywords": [
@@ -34,7 +34,7 @@
34
34
  "typecheck": "tsc --noEmit"
35
35
  },
36
36
  "dependencies": {
37
- "@brainervirus/workit-core": "^0.8.2"
37
+ "@brainervirus/workit-core": "^0.8.4"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@opencode-ai/plugin": "1.17.7"