opencode-swarm-plugin 0.45.4 → 0.45.6

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.d.ts CHANGED
@@ -552,9 +552,9 @@ export declare const allTools: {
552
552
  tools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
553
553
  directory: import("zod").ZodOptional<import("zod").ZodEnum<{
554
554
  global: "global";
555
- ".opencode/skills": ".opencode/skills";
555
+ ".opencode/skill": ".opencode/skill";
556
556
  ".claude/skills": ".claude/skills";
557
- skills: "skills";
557
+ skill: "skill";
558
558
  "global-claude": "global-claude";
559
559
  }>>;
560
560
  };
@@ -564,7 +564,7 @@ export declare const allTools: {
564
564
  body: string;
565
565
  tags?: string[] | undefined;
566
566
  tools?: string[] | undefined;
567
- directory?: "global" | ".opencode/skills" | ".claude/skills" | "skills" | "global-claude" | undefined;
567
+ directory?: "global" | ".opencode/skill" | ".claude/skills" | "skill" | "global-claude" | undefined;
568
568
  }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
569
569
  };
570
570
  readonly skills_update: {
@@ -623,9 +623,9 @@ export declare const allTools: {
623
623
  description: import("zod").ZodOptional<import("zod").ZodString>;
624
624
  directory: import("zod").ZodOptional<import("zod").ZodEnum<{
625
625
  global: "global";
626
- ".opencode/skills": ".opencode/skills";
627
626
  ".claude/skills": ".claude/skills";
628
627
  skills: "skills";
628
+ ".opencode/skills": ".opencode/skills";
629
629
  }>>;
630
630
  include_example_script: import("zod").ZodDefault<import("zod").ZodBoolean>;
631
631
  include_reference: import("zod").ZodDefault<import("zod").ZodBoolean>;
@@ -635,7 +635,7 @@ export declare const allTools: {
635
635
  include_example_script: boolean;
636
636
  include_reference: boolean;
637
637
  description?: string | undefined;
638
- directory?: "global" | ".opencode/skills" | ".claude/skills" | "skills" | undefined;
638
+ directory?: "global" | ".claude/skills" | "skills" | ".opencode/skills" | undefined;
639
639
  }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
640
640
  };
641
641
  readonly repo_readme: {
@@ -1922,11 +1922,10 @@ export { checkGate, DEFAULT_THRESHOLDS, type GateResult, type GateConfig, } from
1922
1922
  * - logger - Default logger instance for immediate use
1923
1923
  *
1924
1924
  * Features:
1925
- * - Daily log rotation via pino-roll (numeric format: swarm.1log, swarm.2log, etc.)
1926
- * - 14-day retention
1925
+ * - Default: stdout JSON logging (works everywhere)
1926
+ * - File logging: SWARM_LOG_FILE=1 writes to ~/.config/swarm-tools/logs/
1927
1927
  * - Module-specific child loggers
1928
- * - Pretty mode for development (SWARM_LOG_PRETTY=1)
1929
- * - Logs to ~/.config/swarm-tools/logs/
1928
+ * - For pretty output: pipe to pino-pretty (`swarm ... | npx pino-pretty`)
1930
1929
  *
1931
1930
  * @example
1932
1931
  * ```typescript
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAkDtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,WAAW,EAAE,MA6QlB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAe,WAAW,CAAC;AAM3B;;GAEG;AACH,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,cAAc,QAAQ,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;GAMG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAEjB,UAAU,EACV,cAAc,EACd,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC;AAMjB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAkDtE;;;;;;;;;;;;;;;;;;GAkBG;AACH,QAAA,MAAM,WAAW,EAAE,MA6QlB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAe,WAAW,CAAC;AAM3B;;GAEG;AACH,cAAc,WAAW,CAAC;AAE1B;;;;;;;;;;;GAWG;AACH,cAAc,QAAQ,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,cAAc,EACd,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,4BAA4B,EAC5B,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;GAMG;AACH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EAEjB,UAAU,EACV,cAAc,EACd,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC;AAMjB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
package/dist/index.js CHANGED
@@ -26971,7 +26971,7 @@ function validateSkillMetadata(raw, filePath) {
26971
26971
  }
26972
26972
  function getGlobalSkillsDir() {
26973
26973
  const home = process.env.HOME || process.env.USERPROFILE || "~";
26974
- return join6(home, ".config", "opencode", "skills");
26974
+ return join6(home, ".config", "opencode", "skill");
26975
26975
  }
26976
26976
  function getClaudeGlobalSkillsDir() {
26977
26977
  const home = process.env.HOME || process.env.USERPROFILE || "~";
@@ -27304,15 +27304,15 @@ async function findRelevantSkills(taskDescription) {
27304
27304
  }
27305
27305
  return relevant;
27306
27306
  }
27307
- var import_gray_matter, skillsProjectDirectory, skillsCache = null, PROJECT_SKILL_DIRECTORIES, skills_list, skills_use, skills_execute, skills_read, DEFAULT_SKILLS_DIR = ".opencode/skills", skills_create, skills_update, skills_delete, skills_add_script, skills_init, skillsTools;
27307
+ var import_gray_matter, skillsProjectDirectory, skillsCache = null, PROJECT_SKILL_DIRECTORIES, skills_list, skills_use, skills_execute, skills_read, DEFAULT_SKILLS_DIR = ".opencode/skill", skills_create, skills_update, skills_delete, skills_add_script, skills_init, skillsTools;
27308
27308
  var init_skills = __esm(() => {
27309
27309
  init_dist();
27310
27310
  import_gray_matter = __toESM(require_gray_matter(), 1);
27311
27311
  skillsProjectDirectory = process.cwd();
27312
27312
  PROJECT_SKILL_DIRECTORIES = [
27313
- ".opencode/skills",
27313
+ ".opencode/skill",
27314
27314
  ".claude/skills",
27315
- "skills"
27315
+ "skill"
27316
27316
  ];
27317
27317
  skills_list = tool({
27318
27318
  description: `[DEPRECATED] List all available skills in the project.
@@ -27368,7 +27368,7 @@ If the skill has scripts, you can run them with skills_execute.`,
27368
27368
  return `Skill '${args.name}' not found. Available skills: ${names || "none"}`;
27369
27369
  }
27370
27370
  let skillSource = "project";
27371
- if (skill.path.includes(".config/opencode/skills") || skill.path.includes(".claude/skills")) {
27371
+ if (skill.path.includes(".config/opencode/skill") || skill.path.includes(".claude/skills")) {
27372
27372
  skillSource = "global";
27373
27373
  } else if (skill.path.includes("global-skills")) {
27374
27374
  skillSource = "bundled";
@@ -27519,12 +27519,12 @@ Good skills have:
27519
27519
  tags: tool.schema.array(tool.schema.string()).optional().describe("Tags for categorization (e.g., ['testing', 'frontend'])"),
27520
27520
  tools: tool.schema.array(tool.schema.string()).optional().describe("Tools this skill commonly uses"),
27521
27521
  directory: tool.schema.enum([
27522
- ".opencode/skills",
27522
+ ".opencode/skill",
27523
27523
  ".claude/skills",
27524
- "skills",
27524
+ "skill",
27525
27525
  "global",
27526
27526
  "global-claude"
27527
- ]).optional().describe("Where to create the skill (default: .opencode/skills). Use 'global' for ~/.config/opencode/skills/, 'global-claude' for ~/.claude/skills/")
27527
+ ]).optional().describe("Where to create the skill (default: .opencode/skill). Use 'global' for ~/.config/opencode/skill/, 'global-claude' for ~/.claude/skills/")
27528
27528
  },
27529
27529
  async execute(args) {
27530
27530
  const existing = await getSkill(args.name);
@@ -65578,40 +65578,24 @@ function ensureLogDir(logDir) {
65578
65578
  mkdirSync5(logDir, { recursive: true });
65579
65579
  }
65580
65580
  }
65581
- function createTransport(filename, logDir) {
65582
- const isPretty = process.env.SWARM_LOG_PRETTY === "1";
65583
- if (isPretty) {
65584
- return {
65585
- target: "pino-pretty",
65586
- options: {
65587
- colorize: true,
65588
- translateTime: "HH:MM:ss",
65589
- ignore: "pid,hostname"
65590
- }
65591
- };
65592
- }
65593
- return {
65594
- target: "pino-roll",
65595
- options: {
65596
- file: join11(logDir, filename),
65597
- frequency: "daily",
65598
- extension: "log",
65599
- limit: { count: 14 },
65600
- mkdir: true
65601
- }
65602
- };
65603
- }
65604
65581
  var loggerCache = new Map;
65605
65582
  function getLogger(logDir = DEFAULT_LOG_DIR) {
65606
65583
  const cacheKey = `swarm:${logDir}`;
65607
65584
  if (loggerCache.has(cacheKey)) {
65608
65585
  return loggerCache.get(cacheKey);
65609
65586
  }
65610
- ensureLogDir(logDir);
65611
- const logger = import_pino.default({
65587
+ const baseConfig = {
65612
65588
  level: process.env.LOG_LEVEL || "info",
65613
65589
  timestamp: import_pino.default.stdTimeFunctions.isoTime
65614
- }, import_pino.default.transport(createTransport("swarm", logDir)));
65590
+ };
65591
+ let logger;
65592
+ if (process.env.SWARM_LOG_FILE === "1") {
65593
+ ensureLogDir(logDir);
65594
+ const logPath = join11(logDir, "swarm.log");
65595
+ logger = import_pino.default(baseConfig, import_pino.default.destination({ dest: logPath, sync: false }));
65596
+ } else {
65597
+ logger = import_pino.default(baseConfig);
65598
+ }
65615
65599
  loggerCache.set(cacheKey, logger);
65616
65600
  return logger;
65617
65601
  }
@@ -65620,11 +65604,18 @@ function createChildLogger(module, logDir = DEFAULT_LOG_DIR) {
65620
65604
  if (loggerCache.has(cacheKey)) {
65621
65605
  return loggerCache.get(cacheKey);
65622
65606
  }
65623
- ensureLogDir(logDir);
65624
- const childLogger = import_pino.default({
65607
+ const baseConfig = {
65625
65608
  level: process.env.LOG_LEVEL || "info",
65626
65609
  timestamp: import_pino.default.stdTimeFunctions.isoTime
65627
- }, import_pino.default.transport(createTransport(module, logDir)));
65610
+ };
65611
+ let childLogger;
65612
+ if (process.env.SWARM_LOG_FILE === "1") {
65613
+ ensureLogDir(logDir);
65614
+ const logPath = join11(logDir, `${module}.log`);
65615
+ childLogger = import_pino.default(baseConfig, import_pino.default.destination({ dest: logPath, sync: false }));
65616
+ } else {
65617
+ childLogger = import_pino.default(baseConfig);
65618
+ }
65628
65619
  const logger = childLogger.child({ module });
65629
65620
  loggerCache.set(cacheKey, logger);
65630
65621
  return logger;
package/dist/logger.d.ts CHANGED
@@ -1,26 +1,30 @@
1
1
  /**
2
- * Logger infrastructure using Pino with daily rotation
2
+ * Logger infrastructure using Pino
3
3
  *
4
4
  * Features:
5
- * - Daily log rotation via pino-roll (numeric format: swarm.1log, swarm.2log, etc.)
6
- * - 14-day retention (14 files max in addition to current file)
7
- * - Module-specific child loggers with separate log files
5
+ * - File logging to ~/.config/swarm-tools/logs/ (when SWARM_LOG_FILE=1)
8
6
  * - Pretty mode for development (SWARM_LOG_PRETTY=1 env var)
9
- * - Logs to ~/.config/swarm-tools/logs/ by default
7
+ * - Default: stdout JSON logging (works everywhere including global installs)
10
8
  *
11
- * Note: pino-roll uses numeric rotation (e.g., swarm.1log, swarm.2log) not date-based names.
12
- * Files rotate daily based on frequency='daily', with a maximum of 14 retained files.
9
+ * NOTE: We intentionally avoid pino.transport() because it spawns worker_threads
10
+ * that have module resolution issues in bundled/global-install contexts.
11
+ * Uses pino.destination() for sync file writes instead.
13
12
  */
14
13
  import type { Logger } from "pino";
15
14
  /**
16
15
  * Gets or creates the main logger instance
17
16
  *
17
+ * Logging modes (set via environment variables):
18
+ * - Default: stdout JSON (works in all contexts)
19
+ * - SWARM_LOG_FILE=1: writes to ~/.config/swarm-tools/logs/swarm.log
20
+ * - SWARM_LOG_PRETTY=1: pretty console output (requires pino-pretty installed)
21
+ *
18
22
  * @param logDir - Optional log directory (defaults to ~/.config/swarm-tools/logs)
19
23
  * @returns Pino logger instance
20
24
  */
21
25
  export declare function getLogger(logDir?: string): Logger;
22
26
  /**
23
- * Creates a child logger for a specific module with its own log file
27
+ * Creates a child logger for a specific module
24
28
  *
25
29
  * @param module - Module name (e.g., "compaction", "cli")
26
30
  * @param logDir - Optional log directory (defaults to ~/.config/swarm-tools/logs)
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAuDnC;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE,MAAwB,GAAG,MAAM,CAmBlE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAwB,GAC/B,MAAM,CAoBR;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAc,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAgBnC;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,MAAM,GAAE,MAAwB,GAAG,MAAM,CA0BlE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAwB,GAC/B,MAAM,CA2BR;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAc,CAAC"}
package/dist/plugin.js CHANGED
@@ -26971,7 +26971,7 @@ function validateSkillMetadata(raw, filePath) {
26971
26971
  }
26972
26972
  function getGlobalSkillsDir() {
26973
26973
  const home = process.env.HOME || process.env.USERPROFILE || "~";
26974
- return join6(home, ".config", "opencode", "skills");
26974
+ return join6(home, ".config", "opencode", "skill");
26975
26975
  }
26976
26976
  function getClaudeGlobalSkillsDir() {
26977
26977
  const home = process.env.HOME || process.env.USERPROFILE || "~";
@@ -27304,15 +27304,15 @@ async function findRelevantSkills(taskDescription) {
27304
27304
  }
27305
27305
  return relevant;
27306
27306
  }
27307
- var import_gray_matter, skillsProjectDirectory, skillsCache = null, PROJECT_SKILL_DIRECTORIES, skills_list, skills_use, skills_execute, skills_read, DEFAULT_SKILLS_DIR = ".opencode/skills", skills_create, skills_update, skills_delete, skills_add_script, skills_init, skillsTools;
27307
+ var import_gray_matter, skillsProjectDirectory, skillsCache = null, PROJECT_SKILL_DIRECTORIES, skills_list, skills_use, skills_execute, skills_read, DEFAULT_SKILLS_DIR = ".opencode/skill", skills_create, skills_update, skills_delete, skills_add_script, skills_init, skillsTools;
27308
27308
  var init_skills = __esm(() => {
27309
27309
  init_dist();
27310
27310
  import_gray_matter = __toESM(require_gray_matter(), 1);
27311
27311
  skillsProjectDirectory = process.cwd();
27312
27312
  PROJECT_SKILL_DIRECTORIES = [
27313
- ".opencode/skills",
27313
+ ".opencode/skill",
27314
27314
  ".claude/skills",
27315
- "skills"
27315
+ "skill"
27316
27316
  ];
27317
27317
  skills_list = tool({
27318
27318
  description: `[DEPRECATED] List all available skills in the project.
@@ -27368,7 +27368,7 @@ If the skill has scripts, you can run them with skills_execute.`,
27368
27368
  return `Skill '${args.name}' not found. Available skills: ${names || "none"}`;
27369
27369
  }
27370
27370
  let skillSource = "project";
27371
- if (skill.path.includes(".config/opencode/skills") || skill.path.includes(".claude/skills")) {
27371
+ if (skill.path.includes(".config/opencode/skill") || skill.path.includes(".claude/skills")) {
27372
27372
  skillSource = "global";
27373
27373
  } else if (skill.path.includes("global-skills")) {
27374
27374
  skillSource = "bundled";
@@ -27519,12 +27519,12 @@ Good skills have:
27519
27519
  tags: tool.schema.array(tool.schema.string()).optional().describe("Tags for categorization (e.g., ['testing', 'frontend'])"),
27520
27520
  tools: tool.schema.array(tool.schema.string()).optional().describe("Tools this skill commonly uses"),
27521
27521
  directory: tool.schema.enum([
27522
- ".opencode/skills",
27522
+ ".opencode/skill",
27523
27523
  ".claude/skills",
27524
- "skills",
27524
+ "skill",
27525
27525
  "global",
27526
27526
  "global-claude"
27527
- ]).optional().describe("Where to create the skill (default: .opencode/skills). Use 'global' for ~/.config/opencode/skills/, 'global-claude' for ~/.claude/skills/")
27527
+ ]).optional().describe("Where to create the skill (default: .opencode/skill). Use 'global' for ~/.config/opencode/skill/, 'global-claude' for ~/.claude/skills/")
27528
27528
  },
27529
27529
  async execute(args) {
27530
27530
  const existing = await getSkill(args.name);
@@ -65103,40 +65103,24 @@ function ensureLogDir(logDir) {
65103
65103
  mkdirSync5(logDir, { recursive: true });
65104
65104
  }
65105
65105
  }
65106
- function createTransport(filename, logDir) {
65107
- const isPretty = process.env.SWARM_LOG_PRETTY === "1";
65108
- if (isPretty) {
65109
- return {
65110
- target: "pino-pretty",
65111
- options: {
65112
- colorize: true,
65113
- translateTime: "HH:MM:ss",
65114
- ignore: "pid,hostname"
65115
- }
65116
- };
65117
- }
65118
- return {
65119
- target: "pino-roll",
65120
- options: {
65121
- file: join11(logDir, filename),
65122
- frequency: "daily",
65123
- extension: "log",
65124
- limit: { count: 14 },
65125
- mkdir: true
65126
- }
65127
- };
65128
- }
65129
65106
  var loggerCache = new Map;
65130
65107
  function getLogger(logDir = DEFAULT_LOG_DIR) {
65131
65108
  const cacheKey = `swarm:${logDir}`;
65132
65109
  if (loggerCache.has(cacheKey)) {
65133
65110
  return loggerCache.get(cacheKey);
65134
65111
  }
65135
- ensureLogDir(logDir);
65136
- const logger = import_pino.default({
65112
+ const baseConfig = {
65137
65113
  level: process.env.LOG_LEVEL || "info",
65138
65114
  timestamp: import_pino.default.stdTimeFunctions.isoTime
65139
- }, import_pino.default.transport(createTransport("swarm", logDir)));
65115
+ };
65116
+ let logger;
65117
+ if (process.env.SWARM_LOG_FILE === "1") {
65118
+ ensureLogDir(logDir);
65119
+ const logPath = join11(logDir, "swarm.log");
65120
+ logger = import_pino.default(baseConfig, import_pino.default.destination({ dest: logPath, sync: false }));
65121
+ } else {
65122
+ logger = import_pino.default(baseConfig);
65123
+ }
65140
65124
  loggerCache.set(cacheKey, logger);
65141
65125
  return logger;
65142
65126
  }
@@ -65145,11 +65129,18 @@ function createChildLogger(module, logDir = DEFAULT_LOG_DIR) {
65145
65129
  if (loggerCache.has(cacheKey)) {
65146
65130
  return loggerCache.get(cacheKey);
65147
65131
  }
65148
- ensureLogDir(logDir);
65149
- const childLogger = import_pino.default({
65132
+ const baseConfig = {
65150
65133
  level: process.env.LOG_LEVEL || "info",
65151
65134
  timestamp: import_pino.default.stdTimeFunctions.isoTime
65152
- }, import_pino.default.transport(createTransport(module, logDir)));
65135
+ };
65136
+ let childLogger;
65137
+ if (process.env.SWARM_LOG_FILE === "1") {
65138
+ ensureLogDir(logDir);
65139
+ const logPath = join11(logDir, `${module}.log`);
65140
+ childLogger = import_pino.default(baseConfig, import_pino.default.destination({ dest: logPath, sync: false }));
65141
+ } else {
65142
+ childLogger = import_pino.default(baseConfig);
65143
+ }
65153
65144
  const logger = childLogger.child({ module });
65154
65145
  loggerCache.set(cacheKey, logger);
65155
65146
  return logger;
package/dist/skills.d.ts CHANGED
@@ -208,9 +208,9 @@ export declare const skills_create: {
208
208
  tools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
209
209
  directory: import("zod").ZodOptional<import("zod").ZodEnum<{
210
210
  global: "global";
211
- ".opencode/skills": ".opencode/skills";
211
+ ".opencode/skill": ".opencode/skill";
212
212
  ".claude/skills": ".claude/skills";
213
- skills: "skills";
213
+ skill: "skill";
214
214
  "global-claude": "global-claude";
215
215
  }>>;
216
216
  };
@@ -220,7 +220,7 @@ export declare const skills_create: {
220
220
  body: string;
221
221
  tags?: string[] | undefined;
222
222
  tools?: string[] | undefined;
223
- directory?: "global" | ".opencode/skills" | ".claude/skills" | "skills" | "global-claude" | undefined;
223
+ directory?: "global" | ".opencode/skill" | ".claude/skills" | "skill" | "global-claude" | undefined;
224
224
  }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
225
225
  };
226
226
  /**
@@ -298,9 +298,9 @@ export declare const skills_init: {
298
298
  description: import("zod").ZodOptional<import("zod").ZodString>;
299
299
  directory: import("zod").ZodOptional<import("zod").ZodEnum<{
300
300
  global: "global";
301
- ".opencode/skills": ".opencode/skills";
302
301
  ".claude/skills": ".claude/skills";
303
302
  skills: "skills";
303
+ ".opencode/skills": ".opencode/skills";
304
304
  }>>;
305
305
  include_example_script: import("zod").ZodDefault<import("zod").ZodBoolean>;
306
306
  include_reference: import("zod").ZodDefault<import("zod").ZodBoolean>;
@@ -310,7 +310,7 @@ export declare const skills_init: {
310
310
  include_example_script: boolean;
311
311
  include_reference: boolean;
312
312
  description?: string | undefined;
313
- directory?: "global" | ".opencode/skills" | ".claude/skills" | "skills" | undefined;
313
+ directory?: "global" | ".claude/skills" | "skills" | ".opencode/skills" | undefined;
314
314
  }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
315
315
  };
316
316
  /**
@@ -371,9 +371,9 @@ export declare const skillsTools: {
371
371
  tools: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
372
372
  directory: import("zod").ZodOptional<import("zod").ZodEnum<{
373
373
  global: "global";
374
- ".opencode/skills": ".opencode/skills";
374
+ ".opencode/skill": ".opencode/skill";
375
375
  ".claude/skills": ".claude/skills";
376
- skills: "skills";
376
+ skill: "skill";
377
377
  "global-claude": "global-claude";
378
378
  }>>;
379
379
  };
@@ -383,7 +383,7 @@ export declare const skillsTools: {
383
383
  body: string;
384
384
  tags?: string[] | undefined;
385
385
  tools?: string[] | undefined;
386
- directory?: "global" | ".opencode/skills" | ".claude/skills" | "skills" | "global-claude" | undefined;
386
+ directory?: "global" | ".opencode/skill" | ".claude/skills" | "skill" | "global-claude" | undefined;
387
387
  }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
388
388
  };
389
389
  skills_update: {
@@ -442,9 +442,9 @@ export declare const skillsTools: {
442
442
  description: import("zod").ZodOptional<import("zod").ZodString>;
443
443
  directory: import("zod").ZodOptional<import("zod").ZodEnum<{
444
444
  global: "global";
445
- ".opencode/skills": ".opencode/skills";
446
445
  ".claude/skills": ".claude/skills";
447
446
  skills: "skills";
447
+ ".opencode/skills": ".opencode/skills";
448
448
  }>>;
449
449
  include_example_script: import("zod").ZodDefault<import("zod").ZodBoolean>;
450
450
  include_reference: import("zod").ZodDefault<import("zod").ZodBoolean>;
@@ -454,7 +454,7 @@ export declare const skillsTools: {
454
454
  include_example_script: boolean;
455
455
  include_reference: boolean;
456
456
  description?: string | undefined;
457
- directory?: "global" | ".opencode/skills" | ".claude/skills" | "skills" | undefined;
457
+ directory?: "global" | ".claude/skills" | "skills" | ".opencode/skills" | undefined;
458
458
  }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
459
459
  };
460
460
  };
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
@@ -17309,7 +17309,7 @@ function validateSkillMetadata(raw, filePath) {
17309
17309
  }
17310
17310
  function getGlobalSkillsDir() {
17311
17311
  const home = process.env.HOME || process.env.USERPROFILE || "~";
17312
- return join3(home, ".config", "opencode", "skills");
17312
+ return join3(home, ".config", "opencode", "skill");
17313
17313
  }
17314
17314
  function getClaudeGlobalSkillsDir() {
17315
17315
  const home = process.env.HOME || process.env.USERPROFILE || "~";
@@ -17642,15 +17642,15 @@ async function findRelevantSkills(taskDescription) {
17642
17642
  }
17643
17643
  return relevant;
17644
17644
  }
17645
- var import_gray_matter, skillsProjectDirectory, skillsCache = null, PROJECT_SKILL_DIRECTORIES, skills_list, skills_use, skills_execute, skills_read, DEFAULT_SKILLS_DIR = ".opencode/skills", skills_create, skills_update, skills_delete, skills_add_script, skills_init, skillsTools;
17645
+ var import_gray_matter, skillsProjectDirectory, skillsCache = null, PROJECT_SKILL_DIRECTORIES, skills_list, skills_use, skills_execute, skills_read, DEFAULT_SKILLS_DIR = ".opencode/skill", skills_create, skills_update, skills_delete, skills_add_script, skills_init, skillsTools;
17646
17646
  var init_skills = __esm(() => {
17647
17647
  init_dist();
17648
17648
  import_gray_matter = __toESM(require_gray_matter(), 1);
17649
17649
  skillsProjectDirectory = process.cwd();
17650
17650
  PROJECT_SKILL_DIRECTORIES = [
17651
- ".opencode/skills",
17651
+ ".opencode/skill",
17652
17652
  ".claude/skills",
17653
- "skills"
17653
+ "skill"
17654
17654
  ];
17655
17655
  skills_list = tool({
17656
17656
  description: `[DEPRECATED] List all available skills in the project.
@@ -17706,7 +17706,7 @@ If the skill has scripts, you can run them with skills_execute.`,
17706
17706
  return `Skill '${args.name}' not found. Available skills: ${names || "none"}`;
17707
17707
  }
17708
17708
  let skillSource = "project";
17709
- if (skill.path.includes(".config/opencode/skills") || skill.path.includes(".claude/skills")) {
17709
+ if (skill.path.includes(".config/opencode/skill") || skill.path.includes(".claude/skills")) {
17710
17710
  skillSource = "global";
17711
17711
  } else if (skill.path.includes("global-skills")) {
17712
17712
  skillSource = "bundled";
@@ -17857,12 +17857,12 @@ Good skills have:
17857
17857
  tags: tool.schema.array(tool.schema.string()).optional().describe("Tags for categorization (e.g., ['testing', 'frontend'])"),
17858
17858
  tools: tool.schema.array(tool.schema.string()).optional().describe("Tools this skill commonly uses"),
17859
17859
  directory: tool.schema.enum([
17860
- ".opencode/skills",
17860
+ ".opencode/skill",
17861
17861
  ".claude/skills",
17862
- "skills",
17862
+ "skill",
17863
17863
  "global",
17864
17864
  "global-claude"
17865
- ]).optional().describe("Where to create the skill (default: .opencode/skills). Use 'global' for ~/.config/opencode/skills/, 'global-claude' for ~/.claude/skills/")
17865
+ ]).optional().describe("Where to create the skill (default: .opencode/skill). Use 'global' for ~/.config/opencode/skill/, 'global-claude' for ~/.claude/skills/")
17866
17866
  },
17867
17867
  async execute(args) {
17868
17868
  const existing = await getSkill(args.name);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm-plugin",
3
- "version": "0.45.4",
3
+ "version": "0.45.6",
4
4
  "description": "Multi-agent swarm coordination for OpenCode with learning capabilities, beads integration, and Agent Mail",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",