opencode-swarm 7.73.0 → 7.73.1

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/cli/index.js CHANGED
@@ -52,7 +52,7 @@ var package_default;
52
52
  var init_package = __esm(() => {
53
53
  package_default = {
54
54
  name: "opencode-swarm",
55
- version: "7.73.0",
55
+ version: "7.73.1",
56
56
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
57
57
  main: "dist/index.js",
58
58
  types: "dist/index.d.ts",
@@ -18752,7 +18752,8 @@ var init_schema = __esm(() => {
18752
18752
  allowedPrefix: exports_external.array(exports_external.string()).optional(),
18753
18753
  blockedZones: exports_external.array(exports_external.enum(["production", "test", "config", "generated", "docs", "build"])).optional(),
18754
18754
  blockedGlobs: exports_external.array(exports_external.string()).optional(),
18755
- allowedGlobs: exports_external.array(exports_external.string()).optional()
18755
+ allowedGlobs: exports_external.array(exports_external.string()).optional(),
18756
+ allowedCaseSensitiveGlobs: exports_external.array(exports_external.string()).optional()
18756
18757
  });
18757
18758
  AuthorityConfigSchema = exports_external.object({
18758
18759
  enabled: exports_external.boolean().default(true),
@@ -762,6 +762,7 @@ export declare const AgentAuthorityRuleSchema: z.ZodObject<{
762
762
  }>>>;
763
763
  blockedGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
764
764
  allowedGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
765
+ allowedCaseSensitiveGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
765
766
  }, z.core.$strip>;
766
767
  export type AgentAuthorityRule = z.infer<typeof AgentAuthorityRuleSchema>;
767
768
  export declare const AuthorityConfigSchema: z.ZodObject<{
@@ -782,6 +783,7 @@ export declare const AuthorityConfigSchema: z.ZodObject<{
782
783
  }>>>;
783
784
  blockedGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
784
785
  allowedGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
786
+ allowedCaseSensitiveGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
785
787
  }, z.core.$strip>>>;
786
788
  universal_deny_prefixes: z.ZodDefault<z.ZodArray<z.ZodString>>;
787
789
  verifier_config_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -1405,6 +1407,7 @@ export declare const PluginConfigSchema: z.ZodObject<{
1405
1407
  }>>>;
1406
1408
  blockedGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
1407
1409
  allowedGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
1410
+ allowedCaseSensitiveGlobs: z.ZodOptional<z.ZodArray<z.ZodString>>;
1408
1411
  }, z.core.$strip>>>;
1409
1412
  universal_deny_prefixes: z.ZodDefault<z.ZodArray<z.ZodString>>;
1410
1413
  verifier_config_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -76,6 +76,7 @@ export type AgentRule = {
76
76
  blockedZones?: FileZone[];
77
77
  blockedGlobs?: string[];
78
78
  allowedGlobs?: string[];
79
+ allowedCaseSensitiveGlobs?: string[];
79
80
  };
80
81
  export declare const DEFAULT_AGENT_AUTHORITY_RULES: Record<string, AgentRule>;
81
82
  /**
package/dist/index.js CHANGED
@@ -69,7 +69,7 @@ var package_default;
69
69
  var init_package = __esm(() => {
70
70
  package_default = {
71
71
  name: "opencode-swarm",
72
- version: "7.73.0",
72
+ version: "7.73.1",
73
73
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
74
74
  main: "dist/index.js",
75
75
  types: "dist/index.d.ts",
@@ -16085,7 +16085,8 @@ var init_schema = __esm(() => {
16085
16085
  allowedPrefix: exports_external.array(exports_external.string()).optional(),
16086
16086
  blockedZones: exports_external.array(exports_external.enum(["production", "test", "config", "generated", "docs", "build"])).optional(),
16087
16087
  blockedGlobs: exports_external.array(exports_external.string()).optional(),
16088
- allowedGlobs: exports_external.array(exports_external.string()).optional()
16088
+ allowedGlobs: exports_external.array(exports_external.string()).optional(),
16089
+ allowedCaseSensitiveGlobs: exports_external.array(exports_external.string()).optional()
16089
16090
  });
16090
16091
  AuthorityConfigSchema = exports_external.object({
16091
16092
  enabled: exports_external.boolean().default(true),
@@ -25482,7 +25483,8 @@ function normalizePathWithCache(filePath, cwd) {
25482
25483
  }
25483
25484
  }
25484
25485
  function getGlobMatcher(pattern, caseInsensitive = process.platform === "win32" || process.platform === "darwin") {
25485
- const cached2 = globMatcherCache.get(pattern);
25486
+ const cacheKey = `${caseInsensitive ? "nocase" : "case"}\x00${pattern}`;
25487
+ const cached2 = globMatcherCache.get(cacheKey);
25486
25488
  if (cached2 !== undefined) {
25487
25489
  return cached2;
25488
25490
  }
@@ -25491,7 +25493,7 @@ function getGlobMatcher(pattern, caseInsensitive = process.platform === "win32"
25491
25493
  dot: true,
25492
25494
  nocase: caseInsensitive
25493
25495
  });
25494
- globMatcherCache.set(pattern, matcher);
25496
+ globMatcherCache.set(cacheKey, matcher);
25495
25497
  return matcher;
25496
25498
  } catch (err2) {
25497
25499
  warn(`picomatch error for pattern "${pattern}": ${err2}`);
@@ -25553,7 +25555,8 @@ function buildEffectiveRules(authorityConfig) {
25553
25555
  allowedPrefix: userRule.allowedPrefix ?? existing.allowedPrefix,
25554
25556
  blockedZones: userRule.blockedZones ?? existing.blockedZones,
25555
25557
  blockedGlobs: userRule.blockedGlobs ?? existing.blockedGlobs,
25556
- allowedGlobs: userRule.allowedGlobs ?? existing.allowedGlobs
25558
+ allowedGlobs: userRule.allowedGlobs ?? existing.allowedGlobs,
25559
+ allowedCaseSensitiveGlobs: userRule.allowedCaseSensitiveGlobs ?? existing.allowedCaseSensitiveGlobs
25557
25560
  };
25558
25561
  }
25559
25562
  return merged;
@@ -25657,6 +25660,15 @@ function checkFileAuthorityWithRules(agentName, filePath, cwd, effectiveRules, o
25657
25660
  return { allowed: true };
25658
25661
  }
25659
25662
  }
25663
+ if (rules.allowedCaseSensitiveGlobs && rules.allowedCaseSensitiveGlobs.length > 0) {
25664
+ const isCaseSensitiveGlobAllowed = rules.allowedCaseSensitiveGlobs.some((glob) => {
25665
+ const matcher = getGlobMatcher(glob, false);
25666
+ return matcher(normalizedPath);
25667
+ });
25668
+ if (isCaseSensitiveGlobAllowed) {
25669
+ return { allowed: true };
25670
+ }
25671
+ }
25660
25672
  if (rules.blockedPrefix && rules.blockedPrefix.length > 0) {
25661
25673
  for (const prefix of rules.blockedPrefix) {
25662
25674
  if (normalizedPath.startsWith(prefix)) {
@@ -25745,7 +25757,25 @@ var init_file_authority = __esm(() => {
25745
25757
  "**/test/**",
25746
25758
  "**/__tests__/**",
25747
25759
  "**/*.test.*",
25748
- "**/*.spec.*"
25760
+ "**/*.spec.*",
25761
+ "test_*.py",
25762
+ "**/test_*.py",
25763
+ "*_test.py",
25764
+ "**/*_test.py",
25765
+ "*_test.go",
25766
+ "**/*_test.go",
25767
+ "*_spec.rb",
25768
+ "**/*_spec.rb",
25769
+ "*.Tests.ps1",
25770
+ "**/*.Tests.ps1"
25771
+ ],
25772
+ allowedCaseSensitiveGlobs: [
25773
+ "*Test.java",
25774
+ "**/*Test.java",
25775
+ "*Test.kt",
25776
+ "**/*Test.kt",
25777
+ "*Tests.cs",
25778
+ "**/*Tests.cs"
25749
25779
  ],
25750
25780
  blockedZones: ["generated"]
25751
25781
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm",
3
- "version": "7.73.0",
3
+ "version": "7.73.1",
4
4
  "description": "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",