@ifrankwang/openspec-agents 0.146.0 → 0.146.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.
@@ -30533,7 +30533,7 @@ async function ensureDefaultUnattended(args, ctx) {
30533
30533
  }
30534
30534
  } catch {}
30535
30535
  }
30536
- var PKG_VERSION = "0.146.0";
30536
+ var PKG_VERSION = "0.146.1";
30537
30537
  function buildMcpServer(worktree, opts = {}) {
30538
30538
  const mcp = new McpServer({ name: "openspec-agents", version: PKG_VERSION });
30539
30539
  for (const [name, spec] of Object.entries(TOOL_SPECS)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifrankwang/openspec-agents",
3
- "version": "0.146.0",
3
+ "version": "0.146.1",
4
4
  "description": "OpenSpec change orchestration plugin for AI coding agents (Claude Code, Codex, ZCode, DeepSeek Harness, OpenCode)",
5
5
  "author": "ifrankwang",
6
6
  "license": "MIT",
@@ -57,6 +57,14 @@ export const DSH_NATIVE_TOOLS_ROW_NAME = `${DSH_PLUGIN_NAME}${DSH_NATIVE_TOOLS_E
57
57
  /** cordis patch 中挂载原生工具插件的 insert 行 id。 */
58
58
  export const DSH_NATIVE_TOOLS_ROW_ID = "openspec-opx-tools"
59
59
 
60
+ /**
61
+ * skill 根在插件包内的相对目录(分段写法:assets/skills)。
62
+ * patch 的 customSkillDirs 引用与构建落位共用本常量:两处各写一份字面量会各自漂移成
63
+ * 「patch 指 assets/skills、产物落位包根 skills/」,DSH 一个 skill 都加载不到——历史缺陷即此。
64
+ * 同一份 patch 同时服务 npm 根包与 dist 插件包两种安装形态,包根(仓库根)亦按 assets/skills 落位。
65
+ */
66
+ export const DSH_SKILLS_DIR_SEGMENTS = ["assets", "skills"] as const
67
+
60
68
  /** 原生工具插件与 skill 根的基础 patch;子代理工具行由 buildDshPatchContent 动态追加。 */
61
69
  const DSH_BASE_PATCH_YAML = `# DeepSeek Harness (DSH) bundle patch: expose OpenSpec orchestration tools and skills.
62
70
  # The patch is applied as a bundle layer under dsh.profile.bundles.
@@ -78,7 +86,7 @@ const DSH_BASE_PATCH_YAML = `# DeepSeek Harness (DSH) bundle patch: expose OpenS
78
86
  providerName: openspec-filesystem
79
87
  includeDefaultRoots: false
80
88
  customSkillDirs:
81
- - !!js "process.getBuiltinModule('node:url').fileURLToPath(new URL('./node_modules/${DSH_PLUGIN_NAME}/assets/skills', baseUrl))"
89
+ - !!js "process.getBuiltinModule('node:url').fileURLToPath(new URL('./node_modules/${DSH_PLUGIN_NAME}/${DSH_SKILLS_DIR_SEGMENTS.join("/")}', baseUrl))"
82
90
  `
83
91
 
84
92
  interface DshSubagentEntry {
@@ -177,14 +185,14 @@ export type DeepSeekHarnessPluginBuildResult = PluginPackageResult
177
185
  export function buildDeepSeekHarnessPlugin(outDir: string = DEEP_SEEK_HARNESS_PLUGIN_DIR): DeepSeekHarnessPluginBuildResult {
178
186
  rmSync(outDir, { recursive: true, force: true })
179
187
  mkdirSync(join(outDir, "agents"), { recursive: true })
180
- mkdirSync(join(outDir, "skills"), { recursive: true })
181
188
  mkdirSync(join(outDir, "assets"), { recursive: true })
189
+ mkdirSync(join(outDir, ...DSH_SKILLS_DIR_SEGMENTS), { recursive: true })
182
190
  mkdirSync(join(outDir, ".dsh-plugin"), { recursive: true })
183
191
 
184
192
  const version = readPkgVersion()
185
193
  // DSH 通过上方 subagent 工具消费 agent 定义;agents/ 目录仍保留原始 markdown 供参考/审计。
186
194
  const agents = buildAgents(join(outDir, "agents"))
187
- const skills = buildSkills(join(outDir, "skills"))
195
+ const skills = buildSkills(join(outDir, ...DSH_SKILLS_DIR_SEGMENTS))
188
196
  bundleDshNativeTools(outDir)
189
197
  copyWorkflows(outDir)
190
198
  copyLicense(outDir)