@chinhae/atw-cli 0.2.1 → 0.2.2

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.
@@ -94,7 +94,13 @@ function readSkipKeyword(directory) {
94
94
  if (indent <= sectionIndent) break
95
95
  const m = trimmed.match(/^skip_keyword\s*:\s*(.*)$/)
96
96
  if (!m) continue
97
- return unquoteYaml(stripInlineComment(m[1]).trim())
97
+ const raw = stripInlineComment(m[1]).trim()
98
+ // 有键无值(`skip_keyword:`)时 parse_simple_yaml 给出的是 {} 而不是字符串,
99
+ // Python 侧的 isinstance(raw, str) 因此回落默认值。这里不回落的话关键词会
100
+ // 变成空串,而空关键词永不匹配——逃生舱静默永久失效,方向和基准正好相反。
101
+ // 显式写的 `""` 是另一回事:那是用户主动关掉逃生舱,要原样保留。
102
+ if (!raw) return DEFAULT_PROMPT_INJECTION_SKIP_KEYWORD
103
+ return unquoteYaml(raw)
98
104
  }
99
105
  return DEFAULT_PROMPT_INJECTION_SKIP_KEYWORD
100
106
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chinhae/atw-cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "A Team Workflow — an AI coding workflow framework that encodes your team's conventions into the process",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,7 +33,7 @@
33
33
  "inquirer": "^9.3.7",
34
34
  "undici": "^6.21.0",
35
35
  "zod": "^4.4.2",
36
- "@chinhae/atw-core": "0.2.1"
36
+ "@chinhae/atw-core": "0.2.2"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@eslint/js": "^9.18.0",