@namzu/sdk 62.12.0 → 62.14.0

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 (248) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/agents/file-definitions.d.ts +7 -0
  3. package/dist/agents/file-definitions.d.ts.map +1 -1
  4. package/dist/agents/file-definitions.js +20 -0
  5. package/dist/agents/file-definitions.js.map +1 -1
  6. package/dist/agents/index.d.ts +1 -1
  7. package/dist/agents/index.d.ts.map +1 -1
  8. package/dist/agents/index.js +1 -1
  9. package/dist/agents/index.js.map +1 -1
  10. package/dist/bridge/acp/server.d.ts +8 -1
  11. package/dist/bridge/acp/server.d.ts.map +1 -1
  12. package/dist/bridge/acp/server.js +12 -0
  13. package/dist/bridge/acp/server.js.map +1 -1
  14. package/dist/connector/index.d.ts +1 -1
  15. package/dist/connector/index.d.ts.map +1 -1
  16. package/dist/connector/index.js +1 -1
  17. package/dist/connector/index.js.map +1 -1
  18. package/dist/connector/mcp/client.d.ts +96 -0
  19. package/dist/connector/mcp/client.d.ts.map +1 -1
  20. package/dist/connector/mcp/client.js +488 -13
  21. package/dist/connector/mcp/client.js.map +1 -1
  22. package/dist/connector/mcp/index.d.ts +1 -0
  23. package/dist/connector/mcp/index.d.ts.map +1 -1
  24. package/dist/connector/mcp/index.js +1 -0
  25. package/dist/connector/mcp/index.js.map +1 -1
  26. package/dist/connector/mcp/tasks.d.ts +40 -0
  27. package/dist/connector/mcp/tasks.d.ts.map +1 -0
  28. package/dist/connector/mcp/tasks.js +55 -0
  29. package/dist/connector/mcp/tasks.js.map +1 -0
  30. package/dist/constants/data-epoch.d.ts +18 -0
  31. package/dist/constants/data-epoch.d.ts.map +1 -0
  32. package/dist/constants/data-epoch.js +18 -0
  33. package/dist/constants/data-epoch.js.map +1 -0
  34. package/dist/constants/index.d.ts +1 -0
  35. package/dist/constants/index.d.ts.map +1 -1
  36. package/dist/constants/index.js +1 -0
  37. package/dist/constants/index.js.map +1 -1
  38. package/dist/constants/mcp/index.d.ts +1 -1
  39. package/dist/constants/mcp/index.d.ts.map +1 -1
  40. package/dist/constants/mcp/index.js +5 -0
  41. package/dist/constants/mcp/index.js.map +1 -1
  42. package/dist/constants/telemetry/index.d.ts +12 -0
  43. package/dist/constants/telemetry/index.d.ts.map +1 -1
  44. package/dist/constants/telemetry/index.js +12 -0
  45. package/dist/constants/telemetry/index.js.map +1 -1
  46. package/dist/eval/bootstrap.d.ts +122 -0
  47. package/dist/eval/bootstrap.d.ts.map +1 -0
  48. package/dist/eval/bootstrap.js +227 -0
  49. package/dist/eval/bootstrap.js.map +1 -0
  50. package/dist/eval/compare.d.ts +109 -0
  51. package/dist/eval/compare.d.ts.map +1 -0
  52. package/dist/eval/compare.js +324 -0
  53. package/dist/eval/compare.js.map +1 -0
  54. package/dist/eval/disclosure.d.ts +70 -0
  55. package/dist/eval/disclosure.d.ts.map +1 -0
  56. package/dist/eval/disclosure.js +64 -0
  57. package/dist/eval/disclosure.js.map +1 -0
  58. package/dist/eval/experiment.d.ts +23 -0
  59. package/dist/eval/experiment.d.ts.map +1 -1
  60. package/dist/eval/experiment.js +87 -15
  61. package/dist/eval/experiment.js.map +1 -1
  62. package/dist/eval/from-turn.d.ts.map +1 -1
  63. package/dist/eval/from-turn.js +5 -0
  64. package/dist/eval/from-turn.js.map +1 -1
  65. package/dist/eval/index.d.ts +13 -2
  66. package/dist/eval/index.d.ts.map +1 -1
  67. package/dist/eval/index.js +6 -1
  68. package/dist/eval/index.js.map +1 -1
  69. package/dist/eval/report-stats.d.ts +77 -0
  70. package/dist/eval/report-stats.d.ts.map +1 -0
  71. package/dist/eval/report-stats.js +184 -0
  72. package/dist/eval/report-stats.js.map +1 -0
  73. package/dist/eval/run-options.d.ts +30 -0
  74. package/dist/eval/run-options.d.ts.map +1 -0
  75. package/dist/eval/run-options.js +20 -0
  76. package/dist/eval/run-options.js.map +1 -0
  77. package/dist/eval/run-summary.d.ts +36 -0
  78. package/dist/eval/run-summary.d.ts.map +1 -0
  79. package/dist/eval/run-summary.js +57 -0
  80. package/dist/eval/run-summary.js.map +1 -0
  81. package/dist/eval/scorers.d.ts +32 -0
  82. package/dist/eval/scorers.d.ts.map +1 -1
  83. package/dist/eval/scorers.js +77 -0
  84. package/dist/eval/scorers.js.map +1 -1
  85. package/dist/eval/types.d.ts +74 -0
  86. package/dist/eval/types.d.ts.map +1 -1
  87. package/dist/manager/session/turn-recorder.d.ts +3 -0
  88. package/dist/manager/session/turn-recorder.d.ts.map +1 -1
  89. package/dist/manager/session/turn-recorder.js +18 -2
  90. package/dist/manager/session/turn-recorder.js.map +1 -1
  91. package/dist/plugin/index.d.ts +1 -1
  92. package/dist/plugin/index.d.ts.map +1 -1
  93. package/dist/plugin/index.js +1 -1
  94. package/dist/plugin/index.js.map +1 -1
  95. package/dist/plugin/loader.d.ts +11 -0
  96. package/dist/plugin/loader.d.ts.map +1 -1
  97. package/dist/plugin/loader.js +15 -2
  98. package/dist/plugin/loader.js.map +1 -1
  99. package/dist/public-runtime.d.ts +10 -6
  100. package/dist/public-runtime.d.ts.map +1 -1
  101. package/dist/public-runtime.js +13 -5
  102. package/dist/public-runtime.js.map +1 -1
  103. package/dist/public-types.d.ts +2 -0
  104. package/dist/public-types.d.ts.map +1 -1
  105. package/dist/registry/command/kernel-commands.d.ts +3 -0
  106. package/dist/registry/command/kernel-commands.d.ts.map +1 -1
  107. package/dist/registry/command/kernel-commands.js +76 -5
  108. package/dist/registry/command/kernel-commands.js.map +1 -1
  109. package/dist/runtime/query/cancelled-before-start.d.ts.map +1 -1
  110. package/dist/runtime/query/cancelled-before-start.js +2 -0
  111. package/dist/runtime/query/cancelled-before-start.js.map +1 -1
  112. package/dist/runtime/query/index.d.ts.map +1 -1
  113. package/dist/runtime/query/index.js +17 -0
  114. package/dist/runtime/query/index.js.map +1 -1
  115. package/dist/runtime/query/iteration/index.d.ts +18 -1
  116. package/dist/runtime/query/iteration/index.d.ts.map +1 -1
  117. package/dist/runtime/query/iteration/index.js +80 -1
  118. package/dist/runtime/query/iteration/index.js.map +1 -1
  119. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  120. package/dist/runtime/query/iteration/phases/tool-review.js +18 -1
  121. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  122. package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
  123. package/dist/runtime/query/iteration/stream-turn.js +5 -0
  124. package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
  125. package/dist/runtime/query/result.d.ts.map +1 -1
  126. package/dist/runtime/query/result.js +2 -0
  127. package/dist/runtime/query/result.js.map +1 -1
  128. package/dist/runtime/query/turn/answer-claims.d.ts +52 -0
  129. package/dist/runtime/query/turn/answer-claims.d.ts.map +1 -0
  130. package/dist/runtime/query/turn/answer-claims.js +348 -0
  131. package/dist/runtime/query/turn/answer-claims.js.map +1 -0
  132. package/dist/runtime/query/turn/outcome-ledger.d.ts +7 -0
  133. package/dist/runtime/query/turn/outcome-ledger.d.ts.map +1 -1
  134. package/dist/runtime/query/turn/outcome-ledger.js +13 -0
  135. package/dist/runtime/query/turn/outcome-ledger.js.map +1 -1
  136. package/dist/skills/index.d.ts +1 -1
  137. package/dist/skills/index.d.ts.map +1 -1
  138. package/dist/skills/index.js +1 -1
  139. package/dist/skills/index.js.map +1 -1
  140. package/dist/skills/loader.d.ts +15 -1
  141. package/dist/skills/loader.d.ts.map +1 -1
  142. package/dist/skills/loader.js +17 -3
  143. package/dist/skills/loader.js.map +1 -1
  144. package/dist/store/goal/index.d.ts +3 -1
  145. package/dist/store/goal/index.d.ts.map +1 -1
  146. package/dist/store/goal/index.js +6 -0
  147. package/dist/store/goal/index.js.map +1 -1
  148. package/dist/telemetry/genai.d.ts +98 -0
  149. package/dist/telemetry/genai.d.ts.map +1 -0
  150. package/dist/telemetry/genai.js +189 -0
  151. package/dist/telemetry/genai.js.map +1 -0
  152. package/dist/telemetry/runtime-accessors.d.ts +19 -0
  153. package/dist/telemetry/runtime-accessors.d.ts.map +1 -1
  154. package/dist/telemetry/runtime-accessors.js +43 -1
  155. package/dist/telemetry/runtime-accessors.js.map +1 -1
  156. package/dist/tools/goal/confirmation.d.ts +154 -0
  157. package/dist/tools/goal/confirmation.d.ts.map +1 -0
  158. package/dist/tools/goal/confirmation.js +290 -0
  159. package/dist/tools/goal/confirmation.js.map +1 -0
  160. package/dist/tools/goal/index.d.ts +4 -1
  161. package/dist/tools/goal/index.d.ts.map +1 -1
  162. package/dist/tools/goal/index.js +27 -2
  163. package/dist/tools/goal/index.js.map +1 -1
  164. package/dist/tools/hand-back/index.d.ts +48 -0
  165. package/dist/tools/hand-back/index.d.ts.map +1 -0
  166. package/dist/tools/hand-back/index.js +129 -0
  167. package/dist/tools/hand-back/index.js.map +1 -0
  168. package/dist/tools/schedules/schedule-tool.d.ts.map +1 -1
  169. package/dist/tools/schedules/schedule-tool.js +15 -1
  170. package/dist/tools/schedules/schedule-tool.js.map +1 -1
  171. package/dist/tools/schedules/types.d.ts +10 -0
  172. package/dist/tools/schedules/types.d.ts.map +1 -1
  173. package/dist/toolsets/manager.d.ts.map +1 -1
  174. package/dist/toolsets/manager.js +12 -0
  175. package/dist/toolsets/manager.js.map +1 -1
  176. package/dist/types/acp/index.d.ts +18 -0
  177. package/dist/types/acp/index.d.ts.map +1 -1
  178. package/dist/types/connector/mcp.d.ts +18 -0
  179. package/dist/types/connector/mcp.d.ts.map +1 -1
  180. package/dist/types/goal/index.d.ts +12 -0
  181. package/dist/types/goal/index.d.ts.map +1 -1
  182. package/dist/types/session/config.d.ts +8 -0
  183. package/dist/types/session/config.d.ts.map +1 -1
  184. package/dist/types/session/hand-back.d.ts +29 -0
  185. package/dist/types/session/hand-back.d.ts.map +1 -0
  186. package/dist/types/session/hand-back.js +11 -0
  187. package/dist/types/session/hand-back.js.map +1 -0
  188. package/dist/types/session/outcome.d.ts +37 -0
  189. package/dist/types/session/outcome.d.ts.map +1 -1
  190. package/dist/types/session/outcome.js.map +1 -1
  191. package/dist/types/session/turn.d.ts +19 -1
  192. package/dist/types/session/turn.d.ts.map +1 -1
  193. package/dist/types/session/turn.js.map +1 -1
  194. package/package.json +1 -1
  195. package/src/agents/file-definitions.ts +21 -0
  196. package/src/agents/index.ts +1 -0
  197. package/src/bridge/acp/server.ts +20 -0
  198. package/src/connector/index.ts +1 -0
  199. package/src/connector/mcp/client.ts +531 -14
  200. package/src/connector/mcp/index.ts +1 -0
  201. package/src/connector/mcp/tasks.ts +81 -0
  202. package/src/constants/data-epoch.ts +17 -0
  203. package/src/constants/index.ts +1 -0
  204. package/src/constants/mcp/index.ts +6 -1
  205. package/src/constants/telemetry/index.ts +13 -0
  206. package/src/eval/bootstrap.ts +314 -0
  207. package/src/eval/compare.ts +473 -0
  208. package/src/eval/disclosure.ts +136 -0
  209. package/src/eval/experiment.ts +127 -15
  210. package/src/eval/from-turn.ts +5 -0
  211. package/src/eval/index.ts +51 -0
  212. package/src/eval/report-stats.ts +257 -0
  213. package/src/eval/run-options.ts +49 -0
  214. package/src/eval/run-summary.ts +104 -0
  215. package/src/eval/scorers.ts +83 -0
  216. package/src/eval/types.ts +76 -0
  217. package/src/manager/session/turn-recorder.ts +23 -2
  218. package/src/plugin/index.ts +7 -1
  219. package/src/plugin/loader.ts +16 -2
  220. package/src/public-runtime.ts +70 -0
  221. package/src/public-types.ts +9 -0
  222. package/src/registry/command/kernel-commands.ts +94 -6
  223. package/src/runtime/query/cancelled-before-start.ts +2 -0
  224. package/src/runtime/query/index.ts +20 -0
  225. package/src/runtime/query/iteration/index.ts +85 -1
  226. package/src/runtime/query/iteration/phases/tool-review.ts +24 -1
  227. package/src/runtime/query/iteration/stream-turn.ts +10 -0
  228. package/src/runtime/query/result.ts +2 -0
  229. package/src/runtime/query/turn/answer-claims.ts +413 -0
  230. package/src/runtime/query/turn/outcome-ledger.ts +12 -0
  231. package/src/skills/index.ts +1 -0
  232. package/src/skills/loader.ts +21 -3
  233. package/src/store/goal/index.ts +11 -0
  234. package/src/telemetry/genai.ts +202 -0
  235. package/src/telemetry/runtime-accessors.ts +40 -1
  236. package/src/tools/goal/confirmation.ts +375 -0
  237. package/src/tools/goal/index.ts +37 -1
  238. package/src/tools/hand-back/index.ts +150 -0
  239. package/src/tools/schedules/schedule-tool.ts +19 -1
  240. package/src/tools/schedules/types.ts +10 -0
  241. package/src/toolsets/manager.ts +22 -0
  242. package/src/types/acp/index.ts +20 -0
  243. package/src/types/connector/mcp.ts +18 -0
  244. package/src/types/goal/index.ts +13 -0
  245. package/src/types/session/config.ts +8 -0
  246. package/src/types/session/hand-back.ts +31 -0
  247. package/src/types/session/outcome.ts +42 -0
  248. package/src/types/session/turn.ts +19 -1
@@ -0,0 +1,348 @@
1
+ /**
2
+ * Compare what an answer claims about checks with what the turn's outcome
3
+ * record holds.
4
+ *
5
+ * A pure function: no model call, no clock, no I/O. The model's words only
6
+ * select which statement to check; the statement the kernel then makes is
7
+ * about the record, so it never claims more than the record establishes.
8
+ *
9
+ * It is built to stay silent. A notice that is wrong teaches people to ignore
10
+ * the line, so every doubt resolves to nothing: a negation, a hedge, a
11
+ * condition, a question, a quotation, code, a report of what someone else
12
+ * said, a statement about the past, a qualified claim ("all but one"), and any
13
+ * language but English. The claim wording and the words that cancel it are data
14
+ * below, each with the reason it is there.
15
+ *
16
+ * It looks at the record of THIS turn only. A turn whose record says nothing
17
+ * changed is never reported: "the tests pass" may be true of an earlier turn.
18
+ */
19
+ import { auditCommandText } from './completion-audit.js';
20
+ /** Answers longer than this are read only up to it, so cost stays bounded. */
21
+ export const ANSWER_CLAIM_MAX_CHARS = 100_000;
22
+ /** The longest quotation of the answer a mismatch carries, in characters. */
23
+ export const ANSWER_CLAIM_MAX_QUOTE_CHARS = 160;
24
+ /** Words that may sit between a subject and its verb without changing the claim. */
25
+ const FILLER = '(?:\\s+(?:all|now|also|still|again|both|are|were|is|have|has|been|currently|locally|fully))*';
26
+ /** Verbs that say a check came out well. */
27
+ const PASSED = '(?:pass(?:es|ed|ing)?|green|succeed(?:s|ed)?)\\b';
28
+ /** Determiners and kinds of test that may precede `tests`. */
29
+ const TEST_WORDS = '(?:(?:all(?:\\s+of)?|the|my|our)\\s+)?(?:(?:unit|integration|e2e|existing|new|relevant|related|automated)\\s+)*';
30
+ /**
31
+ * Plain positive claims only. Each pattern needs the subject, at most a few
32
+ * filler words, and the verb, in that order, so a negation or a modal between
33
+ * them ("did not", "should") breaks the match by itself.
34
+ */
35
+ export const ANSWER_CLAIM_PATTERNS = [
36
+ {
37
+ kind: 'tests',
38
+ said: 'the tests pass',
39
+ re: new RegExp(`\\b${TEST_WORDS}tests\\b${FILLER}\\s+${PASSED}`, 'i'),
40
+ why: 'The plural "tests" as the subject. The singular is left out: "the test now passes" is usually about the one test just fixed, which says nothing about the run that failed.',
41
+ },
42
+ {
43
+ kind: 'tests',
44
+ said: 'the test suite passes',
45
+ re: new RegExp(`\\b(?:test\\s+suite|the\\s+suite|(?:whole|full|entire)\\s+(?:test\\s+)?suite|test\\s+run)\\b${FILLER}\\s+${PASSED}`, 'i'),
46
+ why: 'The suite as a whole is the same claim as "the tests pass", also as "the whole suite". A bare "suite" is not enough: it also names a benchmark suite or a suite of rooms.',
47
+ },
48
+ {
49
+ kind: 'tests',
50
+ said: 'no test failures',
51
+ re: /\b(?:no|zero|0)\s+(?:test\s+failures|failing\s+tests|failed\s+tests|test\s+errors)\b/i,
52
+ why: 'The same claim said by counting failures. It is matched whole, so the word "no" in it is not read as a negation.',
53
+ },
54
+ {
55
+ kind: 'tests',
56
+ said: 'no test failures',
57
+ re: /\b(?:no\s+tests?\s+(?:are\s+|is\s+)?(?:fail(?:s|ing|ed)?)|tests?\s+(?:are\s+not|aren['\u2019]t|do\s+not|don['\u2019]t|did\s+not|didn['\u2019]t)\s+(?:fail|failing))\b/i,
58
+ why: 'The same claim said as a negated failure: "no tests are failing", "the tests do not fail". The pattern holds its own negation, and the failure word in it is not read as a failure.',
59
+ },
60
+ {
61
+ kind: 'tests',
62
+ said: 'the tests pass',
63
+ re: /\b(?:ran|run|running)\s+(?:(?:all\s+)?(?:of\s+)?(?:the|my|our)\s+)?(?:\w+\s+){0,2}(?:tests|test\s+suite|suite)\s+and\s+(?:they|it)\s+(?:all\s+)?(?:pass(?:es|ed)?|are\s+(?:green|passing))\b/i,
64
+ why: 'The pronoun form, the commonest plain phrasing: "I ran the tests and they all pass". The run and its result are in one clause, and a negation between them ("they did not pass") breaks the match.',
65
+ },
66
+ {
67
+ kind: 'checks',
68
+ said: 'the checks pass',
69
+ re: /^\W*(?:it['\u2019]?s\s+|it\s+is\s+|everything\s+is\s+)?all\s+green\b/i,
70
+ why: 'The shortest summary: "All green." Anchored to the start of the sentence, so "not all green" never matches.',
71
+ },
72
+ {
73
+ kind: 'build',
74
+ said: 'the build succeeds',
75
+ re: /\b(?:it|everything)\s+compiles\b/i,
76
+ why: 'A bare "it compiles". The pronoun or "everything" is required: "the compiles list" and similar nouns are not claims.',
77
+ },
78
+ {
79
+ kind: 'build',
80
+ said: 'the build succeeds',
81
+ re: new RegExp(`\\b(?:build|compilation|compile)\\b${FILLER}\\s+(?:succeed(?:s|ed)?|pass(?:es|ed)?|green|completes?|completed|works|worked|is\\s+clean)\\b`, 'i'),
82
+ why: 'The build as the subject with a success verb. "The build" alone, as in "the build script", never matches because the verb must follow.',
83
+ },
84
+ {
85
+ kind: 'build',
86
+ said: 'the build succeeds',
87
+ re: /\b(?:builds?|compiles?)\s+(?:cleanly|successfully|fine)\b/i,
88
+ why: 'The adverb form: "it builds cleanly", "everything compiles successfully".',
89
+ },
90
+ {
91
+ kind: 'lint',
92
+ said: 'lint is clean',
93
+ re: new RegExp(`\\blint(?:ing|er)?\\b${FILLER}\\s+(?:is\\s+|are\\s+)?(?:clean|pass(?:es|ed|ing)?|green|succeed(?:s|ed)?|ok)\\b`, 'i'),
94
+ why: 'Lint as the subject with a clean or passing verb.',
95
+ },
96
+ {
97
+ kind: 'lint',
98
+ said: 'lint is clean',
99
+ re: /\bno\s+lint(?:ing)?\s+(?:errors?|warnings?|issues?|problems?)\b/i,
100
+ why: 'The same claim by counting: "no lint errors". Matched whole, so its own "no" is not a negation.',
101
+ },
102
+ {
103
+ kind: 'typecheck',
104
+ said: 'type checking passes',
105
+ re: new RegExp(`\\b(?:type[\\s-]?check(?:ing|s)?|typecheck|tsc)\\b${FILLER}\\s+(?:is\\s+|are\\s+)?(?:clean|pass(?:es|ed|ing)?|green|succeed(?:s|ed)?|ok)\\b`, 'i'),
106
+ why: 'Type checking, the one-word spelling and the compiler named for it, as the subject. "Type checker" is left out: "the type checker passes the argument on" names what a checker does, not a result.',
107
+ },
108
+ {
109
+ kind: 'typecheck',
110
+ said: 'type checking passes',
111
+ re: /\bno\s+type\s+errors\b/i,
112
+ why: 'The same claim by counting: "no type errors".',
113
+ },
114
+ {
115
+ kind: 'checks',
116
+ said: 'the checks pass',
117
+ re: new RegExp(`\\b(?:all\\s+(?:of\\s+)?(?:the\\s+)?checks|the\\s+(?:ci\\s+)?checks|ci\\s+checks|everything)\\b${FILLER}\\s+${PASSED}`, 'i'),
118
+ why: 'The catch-all a summary reaches for: "all checks pass", "the CI checks pass", "everything is green".',
119
+ },
120
+ {
121
+ kind: 'tests',
122
+ said: 'the tests pass',
123
+ re: /^\W*(?:\*\*)?(?:tests?|test\s+suite)(?:\*\*)?\s*[:\-\u2013]\s*(?:\*\*)?\s*(?:all\s+)?(?:\d+\s+)?(?:pass(?:es|ed|ing)?|green|success(?:ful)?|ok|\u2705|\u2714)/i,
124
+ why: 'The label form of a summary list: "Tests: passing". Anchored to the start of the line, where a label stands.',
125
+ },
126
+ {
127
+ kind: 'build',
128
+ said: 'the build succeeds',
129
+ re: /^\W*(?:\*\*)?build(?:\*\*)?\s*[:\-–]\s*(?:\*\*)?\s*(?:pass(?:es|ed|ing)?|green|success(?:ful)?|ok|clean|✅|✔)/i,
130
+ why: 'The label form: "Build: success".',
131
+ },
132
+ {
133
+ kind: 'lint',
134
+ said: 'lint is clean',
135
+ re: /^\W*(?:\*\*)?lint(?:ing)?(?:\*\*)?\s*[:\-–]\s*(?:\*\*)?\s*(?:pass(?:es|ed|ing)?|green|success(?:ful)?|ok|clean|✅|✔)/i,
136
+ why: 'The label form: "Lint: clean".',
137
+ },
138
+ {
139
+ kind: 'typecheck',
140
+ said: 'type checking passes',
141
+ re: /^\W*(?:\*\*)?(?:type[\s-]?check(?:ing)?|typecheck)(?:\*\*)?\s*[:\-–]\s*(?:\*\*)?\s*(?:pass(?:es|ed|ing)?|green|success(?:ful)?|ok|clean|✅|✔)/i,
142
+ why: 'The label form: "Typecheck: passing".',
143
+ },
144
+ ];
145
+ /** Words that turn the claim around. Looked for in the few words before it. */
146
+ const NEGATION = /\b(?:not|no|never|none|nothing|nobody|zero|scarcely|neither|nor|cannot|unable|without|barely|hardly|n't|isn|aren|doesn|don|didn|wasn|weren|won|couldn|can't|won't)\b|n['’]t\b/i;
147
+ /** Words that make it a wish, a plan, a condition, a request or a guess. Looked for in the few words before it. */
148
+ const HEDGE = /\b(?:if|once|when|whenever|unless|until|assuming|provided|whether|in\s+case|so\s+that|ensure|ensures|ensuring|make\s+sure|makes\s+sure|make|makes|get|gets|keep|keeps|verify|verifying|confirm|confirming|check\s+(?:that|whether)|hope|hopes|hoping|hopefully|expect|expects|expecting|expected|want|wants|need|needs|must|should|would|could|might|may|can|will|probably|likely|maybe|perhaps|presumably|supposedly|apparently|ideally|seems?|appears?|think|believe|assume|guess|suppose|imagine|wonder|let|try|please|goal|aim|aims|target)\b|'ll\b/i;
149
+ /** Words that report what someone or something else said. Looked for in the whole clause. */
150
+ const REPORTING = /\b(?:said|says|say|saying|claims?|claimed|claiming|reports?|reported|reporting|according\s+to|states?|stated|mentions?|mentioned|noted|told|tells|asked|asks|promises?|promised|advertises?|advertised)\b/i;
151
+ /** Words that put the claim in the past, before this turn's change. Looked for in the whole clause. */
152
+ const EARLIER = /\b(?:before|earlier|previously|prior|originally|beforehand|initially|yesterday|formerly|used\s+to|at\s+first|last\s+time|last\s+week|until\s+now|in\s+the\s+past|back\s+then|had\s+been)\b/i;
153
+ /**
154
+ * Words that make the claim partial, a guess or someone else's. Looked for in
155
+ * the few words after it. The last few are the plain negation of other languages
156
+ * ("değil", "nicht", "pas") for a clause that holds an English claim.
157
+ */
158
+ const QUALIFIER = /\b(?:except|besides|apart|aside|other\s+than|but\s+for|barring|mostly|partly|partially|mainly|almost|nearly|only|if|unless|provided|once|when|until|assuming|so\s+far\s+as|aside\s+from|on\s+ci|in\s+theory|apparently|supposedly|allegedly|presumably|seemingly|reportedly|hopefully|probably|maybe|perhaps|goal|aim|target|de[g\u011f]il|nicht|nein|pas)\b/i;
159
+ /** A failure named anywhere else in the sentence: the sentence is reporting one, not claiming a pass. */
160
+ const FAILURE = /\b(?:fail|fails|failed|failing|failure|failures|error|errors|broken|breaks|red|regress(?:ed|es|ion)?)\b/i;
161
+ /**
162
+ * A word anywhere in the sentence that makes every claim in it a guess, or a
163
+ * claim in another language's negation. It sits at sentence level because a
164
+ * comma often separates it from the claim: "The tests pass, apparently."
165
+ */
166
+ const SENTENCE_HEDGE = /\b(?:apparently|supposedly|allegedly|presumably|seemingly|reportedly|hopefully|probably|maybe|perhaps|de[g\u011f]il|nicht|nein)\b/i;
167
+ /** Words a sentence may start with that make everything after it conditional. */
168
+ const CONDITIONAL_START = /^\W*(?:if|once|when|whenever|unless|assuming|provided|in\s+case|should|were|had)\b/i;
169
+ /** How many words before and after a claim are read for what cancels it. */
170
+ const WORDS_BEFORE = 6;
171
+ const WORDS_AFTER = 6;
172
+ /** What a verb that takes an object starts with: "the type checker passes the argument on" is not a result. */
173
+ const OBJECT_AFTER = /^\W*(?:the|a|an|its|their|his|her|them|it|this|that|these|those|each|every|any|some|through|along)\b/i;
174
+ /** A claim worded as a subject ("tests passing is the goal"): the verb is a gerund that a copula follows. */
175
+ const COPULA_AFTER = /^\W*(?:is|are|was|were|means|requires|needs)\b/i;
176
+ /** What is left of an answer once the places a claim does not count are taken out. */
177
+ function readableText(answer) {
178
+ return (answer
179
+ .slice(0, ANSWER_CLAIM_MAX_CHARS)
180
+ // A fenced block, or one the answer never closed.
181
+ .replace(/(```|~~~)[\s\S]*?(?:\1|$)/g, ' _ ')
182
+ // A block quotation: its lines are somebody else's words.
183
+ .replace(/^[ \t]*>.*$/gm, ' ')
184
+ // An inline code span names a command or a symbol, not a claim.
185
+ .replace(/`[^`\n]{0,400}`/g, ' _ ')
186
+ // A quotation in either kind of double quotes.
187
+ .replace(/"[^"\n]{0,400}"/g, ' _ ')
188
+ .replace(/“[^”\n]{0,400}”/g, ' _ '));
189
+ }
190
+ /** Sentences, and within one the clauses a claim and its hedge do not cross. */
191
+ function clausesOf(text) {
192
+ const out = [];
193
+ // A semicolon ends a statement, so a failure named in one half does not cancel a claim in the other.
194
+ for (const raw of text.split(/(?<=[.!?])\s+|\n+|;\s*/)) {
195
+ const sentence = raw.trim();
196
+ if (sentence === '')
197
+ continue;
198
+ if (CONDITIONAL_START.test(sentence) || SENTENCE_HEDGE.test(sentence))
199
+ continue;
200
+ // What the claim patterns themselves match ("no test failures") is not a failure.
201
+ let rest = sentence;
202
+ for (const pattern of ANSWER_CLAIM_PATTERNS) {
203
+ rest = rest.replace(new RegExp(pattern.re.source, 'gi'), ' ');
204
+ }
205
+ // "no errors", "without failures": a count of none is not a failure.
206
+ rest = rest.replace(/\b(?:no|zero|0|without)\s+(?:\w+\s+)?(?:errors?|failures?)\b/gi, ' ');
207
+ if (FAILURE.test(rest))
208
+ continue;
209
+ out.push({
210
+ sentenceEndsWithQuestion: /\?\W*$/.test(sentence),
211
+ // A comma, a semicolon, a dash, a bracket, or a word that turns the sentence around.
212
+ clauses: sentence.split(/[,;()—]|\s-\s|\s–\s|\b(?:but|however|although|though|while|whereas|yet|because|since|so)\b/i),
213
+ });
214
+ }
215
+ return out;
216
+ }
217
+ function wordsBefore(clause, at) {
218
+ return clause.slice(0, at).trim().split(/\s+/).slice(-WORDS_BEFORE).join(' ');
219
+ }
220
+ function wordsAfter(clause, to) {
221
+ return clause.slice(to).trim().split(/\s+/).slice(0, WORDS_AFTER).join(' ');
222
+ }
223
+ /** The claim in this clause, when it is a plain, present, positive one. */
224
+ function claimIn(clause) {
225
+ if (REPORTING.test(clause) || EARLIER.test(clause))
226
+ return undefined;
227
+ for (const pattern of ANSWER_CLAIM_PATTERNS) {
228
+ const found = pattern.re.exec(clause);
229
+ if (!found)
230
+ continue;
231
+ const before = wordsBefore(clause, found.index);
232
+ if (NEGATION.test(before) || HEDGE.test(before))
233
+ continue;
234
+ const after = wordsAfter(clause, found.index + found[0].length);
235
+ if (QUALIFIER.test(after))
236
+ continue;
237
+ if (/\bpass(?:es)?$/i.test(found[0]) && OBJECT_AFTER.test(after))
238
+ continue;
239
+ if (/\bpassing$/i.test(found[0]) && COPULA_AFTER.test(after))
240
+ continue;
241
+ if (/\d+\s+of\s+\d+/.test(clause))
242
+ continue;
243
+ return pattern;
244
+ }
245
+ return undefined;
246
+ }
247
+ /** The kind of check a command line is, when it says so. */
248
+ const COMMAND_KINDS = [
249
+ {
250
+ kind: 'lint',
251
+ re: /\b(?:lint|eslint|biome|prettier|ruff|flake8|rubocop|clippy|golangci-lint)\b/i,
252
+ },
253
+ { kind: 'typecheck', re: /\b(?:typecheck|tsc|mypy|pyright)\b/i },
254
+ { kind: 'tests', re: /\b(?:test|tests|vitest|jest|pytest|mocha|phpunit|spec)\b/i },
255
+ { kind: 'build', re: /\b(?:build|compile|bundle)\b/i },
256
+ ];
257
+ /** A type check is a compile, so a claim about either is about both. */
258
+ function sameKind(a, b) {
259
+ if (a === b)
260
+ return true;
261
+ return (a === 'build' && b === 'typecheck') || (a === 'typecheck' && b === 'build');
262
+ }
263
+ /** Every kind a command line is: a chained `pnpm lint && pnpm test` is both. */
264
+ function kindsOfCommand(command) {
265
+ return COMMAND_KINDS.filter((k) => k.re.test(command)).map((k) => k.kind);
266
+ }
267
+ /** The failed check the claim is about, or `undefined` when every failed check is plainly another kind. */
268
+ function failedCheckFor(record, claim) {
269
+ const checks = Array.isArray(record.checks) ? record.checks : [];
270
+ const failed = checks.filter((c) => c?.result === 'failed');
271
+ if (failed.length === 0)
272
+ return {};
273
+ const related = failed.filter((c) => {
274
+ const kinds = kindsOfCommand(typeof c.command === 'string' ? c.command : '');
275
+ return claim === 'checks' || kinds.length === 0 || kinds.some((kind) => sameKind(kind, claim));
276
+ });
277
+ if (related.length === 0)
278
+ return undefined;
279
+ const only = related.length === 1 ? related[0]?.command : undefined;
280
+ return typeof only === 'string' ? { command: only } : {};
281
+ }
282
+ /**
283
+ * The one mismatch between a plain claim in `answer` and this turn's `outcome`,
284
+ * or `undefined`.
285
+ *
286
+ * Reports only when the record says a check failed, or says files changed and
287
+ * no check ran or none established a pass. Never when the record says nothing
288
+ * changed, that the checks passed, or that it cannot tell: in those the claim
289
+ * may be true. English only: a claim in another language is not found.
290
+ */
291
+ export function compareAnswerToOutcome(answer, outcome) {
292
+ // A notice is never worth failing a turn for: input that does not have the
293
+ // expected shape (a hook-supplied record) is read as "nothing to say".
294
+ try {
295
+ return compare(answer, outcome);
296
+ }
297
+ catch {
298
+ return undefined;
299
+ }
300
+ }
301
+ function compare(answer, outcome) {
302
+ if (typeof answer !== 'string' || answer === '' || !outcome)
303
+ return undefined;
304
+ const verdict = outcome.verdict;
305
+ if (verdict !== 'failing' && verdict !== 'unchecked' && verdict !== 'inconclusive') {
306
+ return undefined;
307
+ }
308
+ for (const { sentenceEndsWithQuestion, clauses } of clausesOf(readableText(answer))) {
309
+ if (sentenceEndsWithQuestion)
310
+ continue;
311
+ for (const clause of clauses) {
312
+ const pattern = claimIn(clause);
313
+ if (!pattern)
314
+ continue;
315
+ let record;
316
+ let recordSays;
317
+ if (verdict === 'failing') {
318
+ const failed = failedCheckFor(outcome, pattern.kind);
319
+ if (!failed)
320
+ continue;
321
+ record = 'check-failed';
322
+ recordSays = failed.command
323
+ ? `${auditCommandText(failed.command)} failed`
324
+ : 'a check failed';
325
+ }
326
+ else if (verdict === 'unchecked') {
327
+ record = 'unchecked';
328
+ recordSays = 'files changed and no check ran';
329
+ }
330
+ else {
331
+ record = 'unreadable';
332
+ recordSays = 'files changed and no check gave a result that could be read';
333
+ }
334
+ // biome-ignore lint/suspicious/noControlCharactersInRegex: control characters are what this removes
335
+ const folded = clause.replace(/[\u0000-\u001f\u007f-\u009f\s]+/g, ' ').trim();
336
+ const quote = folded.length <= ANSWER_CLAIM_MAX_QUOTE_CHARS
337
+ ? folded
338
+ : `${folded.slice(0, ANSWER_CLAIM_MAX_QUOTE_CHARS - 3)}...`;
339
+ return { claim: pattern.kind, said: pattern.said, quote, record, recordSays };
340
+ }
341
+ }
342
+ return undefined;
343
+ }
344
+ /** The mismatch as one plain line, for a person: `The answer says the tests pass. The record: ...` */
345
+ export function describeAnswerClaimMismatch(mismatch) {
346
+ return `The answer says ${mismatch.said}. The record: ${mismatch.recordSays}.`;
347
+ }
348
+ //# sourceMappingURL=answer-claims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"answer-claims.js","sourceRoot":"","sources":["../../../../src/runtime/query/turn/answer-claims.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,13 @@ export declare class OutcomeLedger {
107
107
  * and without settling: the turn goes on and `finish` still answers once.
108
108
  */
109
109
  peek(): TurnOutcome | undefined;
110
+ /**
111
+ * The record as it stands now, with the workspace asked once, and without
112
+ * settling: the turn may go on and `finish` still answers once at the end.
113
+ * Used by a host that wants the whole record before it lets a turn end. A
114
+ * record that is not whole is `undefined`, as in `finish`.
115
+ */
116
+ preview(): Promise<TurnOutcome | undefined>;
110
117
  private compute;
111
118
  }
112
119
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"outcome-ledger.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/turn/outcome-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outcome-ledger.d.ts","sourceRoot":"","sources":["../../../../src/runtime/query/turn/outcome-ledger.ts"],"names":[],"mappings":"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"}
@@ -478,6 +478,19 @@ export class OutcomeLedger {
478
478
  return undefined;
479
479
  return this.compute(null);
480
480
  }
481
+ /**
482
+ * The record as it stands now, with the workspace asked once, and without
483
+ * settling: the turn may go on and `finish` still answers once at the end.
484
+ * Used by a host that wants the whole record before it lets a turn end. A
485
+ * record that is not whole is `undefined`, as in `finish`.
486
+ */
487
+ async preview() {
488
+ if (this.unrecorded)
489
+ return undefined;
490
+ if (this.settled !== undefined)
491
+ return this.settled;
492
+ return this.compute(this.started ? await this.detect() : null);
493
+ }
481
494
  compute(endFingerprint) {
482
495
  const workspace = this.started && this.startFingerprint !== null && endFingerprint !== null;
483
496
  const moved = workspace && this.startFingerprint !== endFingerprint;
@@ -1 +1 @@
1
- {"version":3,"file":"outcome-ledger.js","sourceRoot":"","sources":["../../../../src/runtime/query/turn/outcome-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outcome-ledger.js","sourceRoot":"","sources":["../../../../src/runtime/query/turn/outcome-ledger.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { SKILL_FRONTMATTER_KEYS, SKILL_FRONTMATTER_TOLERATED_KEYS, loadSkill, discoverSkills, } from './loader.js';
1
+ export { SKILL_FRONTMATTER_KEYS, SKILL_FRONTMATTER_TOLERATED_KEYS, loadSkill, parseSkillMarkdown, discoverSkills, } from './loader.js';
2
2
  export { SkillCollisionError, SkillRegistry, resolveSkillChain } from './registry.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,gCAAgC,EAChC,SAAS,EACT,cAAc,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,gCAAgC,EAChC,SAAS,EACT,kBAAkB,EAClB,cAAc,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA"}
@@ -1,3 +1,3 @@
1
- export { SKILL_FRONTMATTER_KEYS, SKILL_FRONTMATTER_TOLERATED_KEYS, loadSkill, discoverSkills, } from './loader.js';
1
+ export { SKILL_FRONTMATTER_KEYS, SKILL_FRONTMATTER_TOLERATED_KEYS, loadSkill, parseSkillMarkdown, discoverSkills, } from './loader.js';
2
2
  export { SkillCollisionError, SkillRegistry, resolveSkillChain } from './registry.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,gCAAgC,EAChC,SAAS,EACT,cAAc,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,gCAAgC,EAChC,SAAS,EACT,kBAAkB,EAClB,cAAc,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { SkillDisclosureLevel, SkillLoadResult } from '../types/skills/index.js';
1
+ import type { SkillDisclosureLevel, SkillLoadResult, SkillMetadata } from '../types/skills/index.js';
2
2
  import { type Logger } from '../utils/logger.js';
3
3
  export declare const SKILL_FILENAME = "SKILL.md";
4
4
  /**
@@ -29,6 +29,20 @@ export declare const SKILL_FRONTMATTER_OPTIONS: {
29
29
  readonly readsKey: (key: string) => boolean;
30
30
  readonly tolerates: (key: string) => boolean;
31
31
  };
32
+ /**
33
+ * A `SKILL.md`'s text to its metadata and body, or a thrown reason.
34
+ *
35
+ * The one place the skill rules are applied to text. `loadSkill` reads the
36
+ * file and calls this; a host that checks a skill without loading it (the
37
+ * plugin validator) reads the file its own way and calls the same function,
38
+ * so the two cannot disagree about what a valid skill is.
39
+ *
40
+ * @param dirPath The skill's folder: the name must match its last segment.
41
+ */
42
+ export declare function parseSkillMarkdown(raw: string, dirPath: string): {
43
+ readonly metadata: SkillMetadata;
44
+ readonly body: string;
45
+ };
32
46
  export declare function loadSkill(dirPath: string, level?: SkillDisclosureLevel, log?: Logger): Promise<SkillLoadResult>;
33
47
  export declare function discoverSkills(parentDir: string, log?: Logger): Promise<string[]>;
34
48
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,oBAAoB,EACpB,eAAe,EAEf,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAE/D,eAAO,MAAM,cAAc,aAAa,CAAA;AAExC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAelD,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAO7D,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;6BARR,MAAM,KAAG,OAAO;8BAW5B,MAAM,KAAG,OAAO;CACxB,CAAA;AA+LV,wBAAsB,SAAS,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,oBAAiC,EACxC,GAAG,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CAwC1B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBvF"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEX,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAE/D,eAAO,MAAM,cAAc,aAAa,CAAA;AAExC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAelD,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,SAAS,MAAM,EAO7D,CAAA;AAID;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;6BARR,MAAM,KAAG,OAAO;8BAW5B,MAAM,KAAG,OAAO;CACxB,CAAA;AA+LV;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACb;IAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAG7D;AAED,wBAAsB,SAAS,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,oBAAiC,EACxC,GAAG,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,CAwC1B;AAED,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyBvF"}
@@ -214,17 +214,31 @@ const CHARS_PER_TOKEN = 4;
214
214
  function estimateTokens(text) {
215
215
  return Math.ceil(text.length / CHARS_PER_TOKEN);
216
216
  }
217
+ /**
218
+ * A `SKILL.md`'s text to its metadata and body, or a thrown reason.
219
+ *
220
+ * The one place the skill rules are applied to text. `loadSkill` reads the
221
+ * file and calls this; a host that checks a skill without loading it (the
222
+ * plugin validator) reads the file its own way and calls the same function,
223
+ * so the two cannot disagree about what a valid skill is.
224
+ *
225
+ * @param dirPath The skill's folder: the name must match its last segment.
226
+ */
227
+ export function parseSkillMarkdown(raw, dirPath) {
228
+ const parsed = parseFrontmatter(raw, sourceLabel(dirPath), SKILL_FRONTMATTER_OPTIONS);
229
+ return { metadata: toSkillMetadata(parsed, dirPath), body: parsed.body };
230
+ }
217
231
  export async function loadSkill(dirPath, level = 'metadata', log) {
218
232
  const skillMdPath = join(dirPath, SKILL_FILENAME);
219
233
  const raw = await readFile(skillMdPath, 'utf-8');
220
- const parsed = parseFrontmatter(raw, sourceLabel(dirPath), SKILL_FRONTMATTER_OPTIONS);
221
- const metadata = toSkillMetadata(parsed, dirPath);
234
+ const parsedSkill = parseSkillMarkdown(raw, dirPath);
235
+ const metadata = parsedSkill.metadata;
222
236
  const skill = {
223
237
  metadata,
224
238
  dirPath,
225
239
  };
226
240
  if (level === 'full' || level === 'assets') {
227
- skill.body = parsed.body;
241
+ skill.body = parsedSkill.body;
228
242
  }
229
243
  const metadataTokens = estimateTokens(`${metadata.name}: ${metadata.description}`);
230
244
  const bodyTokens = skill.body ? estimateTokens(skill.body) : 0;