@brainervirus/workit-cursor 2.0.2 → 2.1.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.
@@ -2,7 +2,7 @@
2
2
  "name": "workit",
3
3
  "displayName": "Workit",
4
4
  "description": "Adaptive Workit workflow with shared MCP tools and native Cursor hooks",
5
- "version": "2.0.2",
5
+ "version": "2.1.0",
6
6
  "author": {
7
7
  "name": "Cristhofer Pincetti"
8
8
  },
@@ -10290,13 +10290,10 @@ var nonBlank, branchPreset, commitPreset, workspaceBranchPolicySchema, workspace
10290
10290
  throw new Error(`ambiguous workspace for ${cwd}; choose one of: ${mostSpecific.map((entry) => entry.name).join(", ")}`);
10291
10291
  }
10292
10292
  return mostSpecific[0];
10293
- }, resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
10294
- const result = readWorkspacesResult(dir);
10295
- if (result.status === "malformed" || result.status === "invalid")
10296
- throw new Error(result.error);
10293
+ }, resolveWorkspaceFromEntries = (cwd, entries, workspaceName) => {
10297
10294
  const targets = [cwd, realpathOf(cwd)].map((p) => p.replaceAll("\\", "/"));
10298
10295
  const matches = [];
10299
- for (const ws of result.entries) {
10296
+ for (const ws of entries) {
10300
10297
  const glob = ws.glob.replaceAll("\\", "/");
10301
10298
  const canonical = canonicalGlob(glob);
10302
10299
  let matched = false;
@@ -10310,6 +10307,11 @@ var nonBlank, branchPreset, commitPreset, workspaceBranchPolicySchema, workspace
10310
10307
  matches.push(ws);
10311
10308
  }
10312
10309
  return selectWorkspaceMatch(matches, cwd, workspaceName) ?? null;
10310
+ }, resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
10311
+ const result = readWorkspacesResult(dir);
10312
+ if (result.status === "malformed" || result.status === "invalid")
10313
+ throw new Error(result.error);
10314
+ return resolveWorkspaceFromEntries(cwd, result.entries, workspaceName);
10313
10315
  }, runtimeWorkspacePolicySchema = (kind) => {
10314
10316
  const key = kind === "branch" ? "branchPolicy" : kind === "commit" ? "commitPolicy" : "vcs";
10315
10317
  const policySchema = kind === "branch" ? workspaceBranchPolicySchema : kind === "commit" ? workspaceCommitPolicySchema : object({
@@ -10468,13 +10470,6 @@ var init_workspaces = __esm(() => {
10468
10470
  profiles: record(nonBlank, workspaceProfileSchema).optional(),
10469
10471
  releaseTracks: record(nonBlank, releaseTrackSchema).optional()
10470
10472
  }).passthrough().superRefine((workspace, context) => {
10471
- if (workspace.youtrack && workspace.vcs?.provider !== "gitlab") {
10472
- context.addIssue({
10473
- code: "custom",
10474
- path: ["youtrack"],
10475
- message: `YouTrack issue linking requires the gitlab provider, got ${workspace.vcs?.provider ?? "unset"}`
10476
- });
10477
- }
10478
10473
  if (workspace.issues && workspace.vcs?.provider !== "github") {
10479
10474
  context.addIssue({
10480
10475
  code: "custom",
@@ -10534,8 +10529,8 @@ function vcsConfig(mode, cwd) {
10534
10529
  const hasWorkspacePolicy = typeof wp.preset === "string" && Object.hasOwn(PRESETS, wp.preset);
10535
10530
  const policyDefault = resolveBranchPolicyFor(root).defaultTargetBranch;
10536
10531
  const defaultTarget = String(wsVcs.defaultTargetBranch ?? (hasWorkspacePolicy ? policyDefault : cfg.defaultTargetBranch ?? policyDefault) ?? "develop");
10537
- const linkIssues = provider === "gitlab" && typeof wsYt.link_issues === "boolean" ? wsYt.link_issues : null;
10538
- const youtrackBaseUrl = provider === "gitlab" && typeof wsYt.baseUrl === "string" ? wsYt.baseUrl : null;
10532
+ const linkIssues = typeof wsYt.link_issues === "boolean" ? wsYt.link_issues : null;
10533
+ const youtrackBaseUrl = typeof wsYt.baseUrl === "string" ? wsYt.baseUrl : null;
10539
10534
  let issuesProvider = null;
10540
10535
  let linkOnPr = null;
10541
10536
  if (provider === "github" && typeof wsIssues.provider === "string" && wsIssues.provider.toLowerCase() === "github") {
@@ -22940,13 +22940,6 @@ var workspaceConfigSchema = object4({
22940
22940
  profiles: record3(nonBlank, workspaceProfileSchema).optional(),
22941
22941
  releaseTracks: record3(nonBlank, releaseTrackSchema).optional()
22942
22942
  }).passthrough().superRefine((workspace, context) => {
22943
- if (workspace.youtrack && workspace.vcs?.provider !== "gitlab") {
22944
- context.addIssue({
22945
- code: "custom",
22946
- path: ["youtrack"],
22947
- message: `YouTrack issue linking requires the gitlab provider, got ${workspace.vcs?.provider ?? "unset"}`
22948
- });
22949
- }
22950
22943
  if (workspace.issues && workspace.vcs?.provider !== "github") {
22951
22944
  context.addIssue({
22952
22945
  code: "custom",
@@ -23138,13 +23131,10 @@ var selectWorkspaceMatch = (matches, cwd, workspaceName) => {
23138
23131
  }
23139
23132
  return mostSpecific[0];
23140
23133
  };
23141
- var resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
23142
- const result = readWorkspacesResult(dir);
23143
- if (result.status === "malformed" || result.status === "invalid")
23144
- throw new Error(result.error);
23134
+ var resolveWorkspaceFromEntries = (cwd, entries, workspaceName) => {
23145
23135
  const targets = [cwd, realpathOf(cwd)].map((p) => p.replaceAll("\\", "/"));
23146
23136
  const matches = [];
23147
- for (const ws of result.entries) {
23137
+ for (const ws of entries) {
23148
23138
  const glob = ws.glob.replaceAll("\\", "/");
23149
23139
  const canonical = canonicalGlob(glob);
23150
23140
  let matched = false;
@@ -23159,6 +23149,12 @@ var resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
23159
23149
  }
23160
23150
  return selectWorkspaceMatch(matches, cwd, workspaceName) ?? null;
23161
23151
  };
23152
+ var resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
23153
+ const result = readWorkspacesResult(dir);
23154
+ if (result.status === "malformed" || result.status === "invalid")
23155
+ throw new Error(result.error);
23156
+ return resolveWorkspaceFromEntries(cwd, result.entries, workspaceName);
23157
+ };
23162
23158
  var runtimeWorkspacePolicySchema = (kind) => {
23163
23159
  const key = kind === "branch" ? "branchPolicy" : kind === "commit" ? "commitPolicy" : "vcs";
23164
23160
  const policySchema = kind === "branch" ? workspaceBranchPolicySchema : kind === "commit" ? workspaceCommitPolicySchema : object4({
@@ -23434,8 +23430,8 @@ function vcsConfig(mode, cwd) {
23434
23430
  const hasWorkspacePolicy = typeof wp.preset === "string" && Object.hasOwn(PRESETS, wp.preset);
23435
23431
  const policyDefault = resolveBranchPolicyFor(root).defaultTargetBranch;
23436
23432
  const defaultTarget = String(wsVcs.defaultTargetBranch ?? (hasWorkspacePolicy ? policyDefault : cfg.defaultTargetBranch ?? policyDefault) ?? "develop");
23437
- const linkIssues = provider === "gitlab" && typeof wsYt.link_issues === "boolean" ? wsYt.link_issues : null;
23438
- const youtrackBaseUrl = provider === "gitlab" && typeof wsYt.baseUrl === "string" ? wsYt.baseUrl : null;
23433
+ const linkIssues = typeof wsYt.link_issues === "boolean" ? wsYt.link_issues : null;
23434
+ const youtrackBaseUrl = typeof wsYt.baseUrl === "string" ? wsYt.baseUrl : null;
23439
23435
  let issuesProvider = null;
23440
23436
  let linkOnPr = null;
23441
23437
  if (provider === "github" && typeof wsIssues.provider === "string" && wsIssues.provider.toLowerCase() === "github") {
@@ -10124,13 +10124,6 @@ var workspaceConfigSchema = object({
10124
10124
  profiles: record(nonBlank, workspaceProfileSchema).optional(),
10125
10125
  releaseTracks: record(nonBlank, releaseTrackSchema).optional()
10126
10126
  }).passthrough().superRefine((workspace, context) => {
10127
- if (workspace.youtrack && workspace.vcs?.provider !== "gitlab") {
10128
- context.addIssue({
10129
- code: "custom",
10130
- path: ["youtrack"],
10131
- message: `YouTrack issue linking requires the gitlab provider, got ${workspace.vcs?.provider ?? "unset"}`
10132
- });
10133
- }
10134
10127
  if (workspace.issues && workspace.vcs?.provider !== "github") {
10135
10128
  context.addIssue({
10136
10129
  code: "custom",
@@ -10322,13 +10315,10 @@ var selectWorkspaceMatch = (matches, cwd, workspaceName) => {
10322
10315
  }
10323
10316
  return mostSpecific[0];
10324
10317
  };
10325
- var resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
10326
- const result = readWorkspacesResult(dir);
10327
- if (result.status === "malformed" || result.status === "invalid")
10328
- throw new Error(result.error);
10318
+ var resolveWorkspaceFromEntries = (cwd, entries, workspaceName) => {
10329
10319
  const targets = [cwd, realpathOf(cwd)].map((p) => p.replaceAll("\\", "/"));
10330
10320
  const matches = [];
10331
- for (const ws of result.entries) {
10321
+ for (const ws of entries) {
10332
10322
  const glob = ws.glob.replaceAll("\\", "/");
10333
10323
  const canonical = canonicalGlob(glob);
10334
10324
  let matched = false;
@@ -10343,6 +10333,12 @@ var resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
10343
10333
  }
10344
10334
  return selectWorkspaceMatch(matches, cwd, workspaceName) ?? null;
10345
10335
  };
10336
+ var resolveWorkspaceFrom = (cwd, dir, workspaceName) => {
10337
+ const result = readWorkspacesResult(dir);
10338
+ if (result.status === "malformed" || result.status === "invalid")
10339
+ throw new Error(result.error);
10340
+ return resolveWorkspaceFromEntries(cwd, result.entries, workspaceName);
10341
+ };
10346
10342
  var runtimeWorkspacePolicySchema = (kind) => {
10347
10343
  const key = kind === "branch" ? "branchPolicy" : kind === "commit" ? "commitPolicy" : "vcs";
10348
10344
  const policySchema = kind === "branch" ? workspaceBranchPolicySchema : kind === "commit" ? workspaceCommitPolicySchema : object({
@@ -10477,8 +10473,8 @@ function vcsConfig(mode, cwd) {
10477
10473
  const hasWorkspacePolicy = typeof wp.preset === "string" && Object.hasOwn(PRESETS, wp.preset);
10478
10474
  const policyDefault = resolveBranchPolicyFor(root).defaultTargetBranch;
10479
10475
  const defaultTarget = String(wsVcs.defaultTargetBranch ?? (hasWorkspacePolicy ? policyDefault : cfg.defaultTargetBranch ?? policyDefault) ?? "develop");
10480
- const linkIssues = provider === "gitlab" && typeof wsYt.link_issues === "boolean" ? wsYt.link_issues : null;
10481
- const youtrackBaseUrl = provider === "gitlab" && typeof wsYt.baseUrl === "string" ? wsYt.baseUrl : null;
10476
+ const linkIssues = typeof wsYt.link_issues === "boolean" ? wsYt.link_issues : null;
10477
+ const youtrackBaseUrl = typeof wsYt.baseUrl === "string" ? wsYt.baseUrl : null;
10482
10478
  let issuesProvider = null;
10483
10479
  let linkOnPr = null;
10484
10480
  if (provider === "github" && typeof wsIssues.provider === "string" && wsIssues.provider.toLowerCase() === "github") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brainervirus/workit-cursor",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "private": false,
5
5
  "description": "Workit Cursor plugin — shared MCP transport, native hooks, and fourteen method skills",
6
6
  "keywords": [
@@ -44,8 +44,8 @@
44
44
  "build": "bun scripts/build.ts"
45
45
  },
46
46
  "dependencies": {
47
- "@brainervirus/workit-core": "^2.0.2",
48
- "@brainervirus/workit-mcp": "^2.0.2"
47
+ "@brainervirus/workit-core": "^2.1.0",
48
+ "@brainervirus/workit-mcp": "^2.1.0"
49
49
  },
50
50
  "engines": {
51
51
  "node": ">=24"