prompt-skill-armory 0.5.2 → 0.5.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/cli.cjs +16 -5
  2. package/package.json +1 -1
package/cli.cjs CHANGED
@@ -132,14 +132,25 @@ function addBundle(profileDir) {
132
132
  */
133
133
  function mountClientPanel(profileDir) {
134
134
  const patchPath = join(profileDir, 'cordis.patch.yml')
135
- const existing = existsSync(patchPath) ? readFileSync(patchPath, 'utf8') : '[]'
136
- if (existing.includes('ui-switchblade')) {
135
+ const existing = existsSync(patchPath) ? readFileSync(patchPath, 'utf8') : ''
136
+ // Correct patch format: a TOP-LEVEL YAML array of patch entries. `[]` and
137
+ // `- insert:` cannot coexist in one document (YAML separator error), so we
138
+ // write a pure insert list.
139
+ const canonical = `# Prompt-SkillArmory client panel.\n- insert:\n - id: ui-switchblade\n name: '@deepseek-ai/dsh-client-ui-switchblade'\n`
140
+ if (existing.replace(/\r/g, '') === canonical) {
137
141
  console.log(` · ui-switchblade already mounted in ${patchPath}`)
138
142
  return
139
143
  }
140
- const mount = `# Prompt-SkillArmory client panel.\n- insert:\n - id: ui-switchblade\n name: '@deepseek-ai/dsh-client-ui-switchblade'\n`
141
- const base = existing.trim() === '[]' || existing.trim() === '' ? '' : existing.replace(/\s*$/, '\n')
142
- writeFileSync(patchPath, `${base}${mount}`)
144
+ // Preserve any real user entries, dropping an old bare `[]` line.
145
+ const meaningful = existing
146
+ .split('\n')
147
+ .map((l) => l.replace(/\r$/, ''))
148
+ .filter((l) => {
149
+ const t = l.trim()
150
+ return t !== '' && t !== '[]' && !(l.includes('ui-switchblade') && (l.includes('id:') || l.includes('name:') || l.includes('# Prompt-SkillArmory')))
151
+ })
152
+ const base = meaningful.length > 0 ? meaningful.join('\n') + '\n' : ''
153
+ writeFileSync(patchPath, `${base}${canonical}`)
143
154
  console.log(` ✓ mounted ui-switchblade in ${patchPath}`)
144
155
  }
145
156
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prompt-skill-armory",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "One-command installer for Prompt-SkillArmory (prompts + skills manager) into a DeepSeek Harness web profile",
5
5
  "type": "module",
6
6
  "bin": {