@su-record/vibe 4.2.35 → 4.2.37

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 (222) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/dist/cli/common.js +4 -1
  5. package/dist/cli/common.js.map +1 -1
  6. package/dist/cli/heldout.js +10 -4
  7. package/dist/cli/heldout.js.map +1 -1
  8. package/dist/cli/human.js +8 -4
  9. package/dist/cli/human.js.map +1 -1
  10. package/dist/cli/internal.js +37 -24
  11. package/dist/cli/internal.js.map +1 -1
  12. package/dist/cli/ledger.js +67 -0
  13. package/dist/cli/ledger.js.map +1 -0
  14. package/dist/cli/map.js +5 -3
  15. package/dist/cli/map.js.map +1 -1
  16. package/dist/cli/memory.js +104 -74
  17. package/dist/cli/memory.js.map +1 -1
  18. package/dist/cli/mutate.js +20 -0
  19. package/dist/cli/mutate.js.map +1 -0
  20. package/dist/cli/risks.js +20 -3
  21. package/dist/cli/risks.js.map +1 -1
  22. package/dist/cli/session.js +4 -2
  23. package/dist/cli/session.js.map +1 -1
  24. package/dist/cli/setup.js +44 -13
  25. package/dist/cli/setup.js.map +1 -1
  26. package/dist/cli/work.js +73 -21
  27. package/dist/cli/work.js.map +1 -1
  28. package/dist/cli.js +19 -6
  29. package/dist/cli.js.map +1 -1
  30. package/dist/core/analyze.js +21 -7
  31. package/dist/core/analyze.js.map +1 -1
  32. package/dist/core/artifact-paths.js +14 -3
  33. package/dist/core/artifact-paths.js.map +1 -1
  34. package/dist/core/capabilities.js +69 -15
  35. package/dist/core/capabilities.js.map +1 -1
  36. package/dist/core/check-authorization.js +37 -0
  37. package/dist/core/check-authorization.js.map +1 -0
  38. package/dist/core/check-process.js +12 -4
  39. package/dist/core/check-process.js.map +1 -1
  40. package/dist/core/check-report.js +66 -0
  41. package/dist/core/check-report.js.map +1 -0
  42. package/dist/core/check.js +59 -71
  43. package/dist/core/check.js.map +1 -1
  44. package/dist/core/checks/changed.js +20 -6
  45. package/dist/core/checks/changed.js.map +1 -1
  46. package/dist/core/checks/eval.js +35 -10
  47. package/dist/core/checks/eval.js.map +1 -1
  48. package/dist/core/checks/file.js +26 -23
  49. package/dist/core/checks/file.js.map +1 -1
  50. package/dist/core/checks/fileRules.js +42 -16
  51. package/dist/core/checks/fileRules.js.map +1 -1
  52. package/dist/core/checks/http.js +35 -34
  53. package/dist/core/checks/http.js.map +1 -1
  54. package/dist/core/checks/packs.js +1 -1
  55. package/dist/core/checks/packs.js.map +1 -1
  56. package/dist/core/checks/review.js +75 -40
  57. package/dist/core/checks/review.js.map +1 -1
  58. package/dist/core/checks/run.js +5 -2
  59. package/dist/core/checks/run.js.map +1 -1
  60. package/dist/core/checks/schema.js +25 -0
  61. package/dist/core/checks/schema.js.map +1 -0
  62. package/dist/core/checks/source.js +11 -6
  63. package/dist/core/checks/source.js.map +1 -1
  64. package/dist/core/config.js +9 -2
  65. package/dist/core/config.js.map +1 -1
  66. package/dist/core/consent.js +24 -16
  67. package/dist/core/consent.js.map +1 -1
  68. package/dist/core/context-notes.js +15 -7
  69. package/dist/core/context-notes.js.map +1 -1
  70. package/dist/core/context.js +24 -12
  71. package/dist/core/context.js.map +1 -1
  72. package/dist/core/conventions.js +22 -9
  73. package/dist/core/conventions.js.map +1 -1
  74. package/dist/core/docs/cfb.js +81 -45
  75. package/dist/core/docs/cfb.js.map +1 -1
  76. package/dist/core/docs/html.js +14 -3
  77. package/dist/core/docs/html.js.map +1 -1
  78. package/dist/core/docs/hwp.js +44 -22
  79. package/dist/core/docs/hwp.js.map +1 -1
  80. package/dist/core/docs/office.js +20 -10
  81. package/dist/core/docs/office.js.map +1 -1
  82. package/dist/core/docs/pdf.js +10 -4
  83. package/dist/core/docs/pdf.js.map +1 -1
  84. package/dist/core/docs/read.js +32 -24
  85. package/dist/core/docs/read.js.map +1 -1
  86. package/dist/core/docs/zip.js +32 -15
  87. package/dist/core/docs/zip.js.map +1 -1
  88. package/dist/core/evidence.js +17 -7
  89. package/dist/core/evidence.js.map +1 -1
  90. package/dist/core/failure-message.js +35 -13
  91. package/dist/core/failure-message.js.map +1 -1
  92. package/dist/core/failure.js +49 -14
  93. package/dist/core/failure.js.map +1 -1
  94. package/dist/core/github.js +3 -1
  95. package/dist/core/github.js.map +1 -1
  96. package/dist/core/handoff.js +20 -7
  97. package/dist/core/handoff.js.map +1 -1
  98. package/dist/core/heldout-run.js +6 -3
  99. package/dist/core/heldout-run.js.map +1 -1
  100. package/dist/core/heldout.js +24 -13
  101. package/dist/core/heldout.js.map +1 -1
  102. package/dist/core/inbox.js +3 -1
  103. package/dist/core/inbox.js.map +1 -1
  104. package/dist/core/inputs.js +6 -3
  105. package/dist/core/inputs.js.map +1 -1
  106. package/dist/core/inspect.js +61 -20
  107. package/dist/core/inspect.js.map +1 -1
  108. package/dist/core/intent.js +35 -13
  109. package/dist/core/intent.js.map +1 -1
  110. package/dist/core/knowledge-find.js +31 -12
  111. package/dist/core/knowledge-find.js.map +1 -1
  112. package/dist/core/knowledge.js +22 -12
  113. package/dist/core/knowledge.js.map +1 -1
  114. package/dist/core/lang.js +5 -2
  115. package/dist/core/lang.js.map +1 -1
  116. package/dist/core/ledger.js +44 -20
  117. package/dist/core/ledger.js.map +1 -1
  118. package/dist/core/locations.js +12 -0
  119. package/dist/core/locations.js.map +1 -0
  120. package/dist/core/map/imports.js +20 -9
  121. package/dist/core/map/imports.js.map +1 -1
  122. package/dist/core/map/index.js +28 -13
  123. package/dist/core/map/index.js.map +1 -1
  124. package/dist/core/map/symbols.js +27 -12
  125. package/dist/core/map/symbols.js.map +1 -1
  126. package/dist/core/mutate.js +107 -0
  127. package/dist/core/mutate.js.map +1 -0
  128. package/dist/core/output-capture.js +7 -4
  129. package/dist/core/output-capture.js.map +1 -1
  130. package/dist/core/paths.js +2 -1
  131. package/dist/core/paths.js.map +1 -1
  132. package/dist/core/performance.js +43 -17
  133. package/dist/core/performance.js.map +1 -1
  134. package/dist/core/profile.js +6 -3
  135. package/dist/core/profile.js.map +1 -1
  136. package/dist/core/reader.js +32 -16
  137. package/dist/core/reader.js.map +1 -1
  138. package/dist/core/readerSession.js +34 -14
  139. package/dist/core/readerSession.js.map +1 -1
  140. package/dist/core/recent.js +20 -6
  141. package/dist/core/recent.js.map +1 -1
  142. package/dist/core/regress.js +21 -12
  143. package/dist/core/regress.js.map +1 -1
  144. package/dist/core/repair.js +22 -4
  145. package/dist/core/repair.js.map +1 -1
  146. package/dist/core/research-queries.js +85 -0
  147. package/dist/core/research-queries.js.map +1 -0
  148. package/dist/core/research.js +89 -88
  149. package/dist/core/research.js.map +1 -1
  150. package/dist/core/results.js +15 -6
  151. package/dist/core/results.js.map +1 -1
  152. package/dist/core/risk-signals.js +53 -15
  153. package/dist/core/risk-signals.js.map +1 -1
  154. package/dist/core/run-id.js +10 -6
  155. package/dist/core/run-id.js.map +1 -1
  156. package/dist/core/scenarios.js +91 -60
  157. package/dist/core/scenarios.js.map +1 -1
  158. package/dist/core/session.js +3 -2
  159. package/dist/core/session.js.map +1 -1
  160. package/dist/core/size.js +28 -8
  161. package/dist/core/size.js.map +1 -1
  162. package/dist/core/skills.js +66 -28
  163. package/dist/core/skills.js.map +1 -1
  164. package/dist/core/skillsmp.js +26 -12
  165. package/dist/core/skillsmp.js.map +1 -1
  166. package/dist/core/source-basis.js +21 -9
  167. package/dist/core/source-basis.js.map +1 -1
  168. package/dist/core/status.js +26 -13
  169. package/dist/core/status.js.map +1 -1
  170. package/dist/core/table.js +8 -1
  171. package/dist/core/table.js.map +1 -1
  172. package/dist/core/tokens.js +20 -10
  173. package/dist/core/tokens.js.map +1 -1
  174. package/dist/core/tree.js +26 -16
  175. package/dist/core/tree.js.map +1 -1
  176. package/dist/core/verification-plan.js +24 -8
  177. package/dist/core/verification-plan.js.map +1 -1
  178. package/dist/core/verification.js +14 -7
  179. package/dist/core/verification.js.map +1 -1
  180. package/dist/core/view.js +93 -44
  181. package/dist/core/view.js.map +1 -1
  182. package/dist/install/global.js +37 -18
  183. package/dist/install/global.js.map +1 -1
  184. package/dist/install/hooks.js +17 -8
  185. package/dist/install/hooks.js.map +1 -1
  186. package/dist/install/manifest.js +11 -0
  187. package/dist/install/manifest.js.map +1 -0
  188. package/dist/install/mcpb.js +52 -23
  189. package/dist/install/mcpb.js.map +1 -1
  190. package/dist/install/plugin.js +73 -33
  191. package/dist/install/plugin.js.map +1 -1
  192. package/dist/install/project.js +8 -7
  193. package/dist/install/project.js.map +1 -1
  194. package/dist/install/register.js +83 -48
  195. package/dist/install/register.js.map +1 -1
  196. package/dist/install/tree.js +27 -11
  197. package/dist/install/tree.js.map +1 -1
  198. package/dist/install/update.js +46 -20
  199. package/dist/install/update.js.map +1 -1
  200. package/hooks/code-map.cjs +22 -9
  201. package/hooks/journal.cjs +18 -16
  202. package/hooks/knowledge-auto.cjs +55 -21
  203. package/hooks/knowledge-journal.cjs +47 -20
  204. package/hooks/knowledge-projects.cjs +50 -21
  205. package/hooks/knowledge-recall.cjs +16 -6
  206. package/hooks/knowledge-upkeep.cjs +22 -5
  207. package/hooks/locations.cjs +35 -0
  208. package/hooks/notify.js +52 -24
  209. package/hooks/obsidian.cjs +17 -7
  210. package/hooks/private-store.cjs +25 -10
  211. package/hooks/retest.cjs +39 -16
  212. package/hooks/session-context.cjs +30 -13
  213. package/hooks/session-files.cjs +44 -21
  214. package/hooks/session-repair.cjs +26 -11
  215. package/hooks/session-state.cjs +78 -38
  216. package/hooks/session.js +19 -8
  217. package/hooks/slice-command.cjs +38 -17
  218. package/hooks/slice-guard.cjs +20 -6
  219. package/hooks/slice-store.cjs +25 -12
  220. package/internal/guides/code.md +2 -0
  221. package/mcpb/server/index.js +40 -12
  222. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../src/core/scenarios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../src/core/scenarios.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAa,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA+FlD,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AACrG,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,qBAAqB,eAAe,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,kGAAkG;AAClG,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAC7C,wEAAwE;AACxE,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AAC5G,MAAM,YAAY,GAAG;IACnB,gCAAgC;IAChC,gCAAgC;IAChC,sDAAsD;IACtD,mCAAmC;IACnC,iCAAiC;CAClC,CAAC;AAEF,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,GAAG,CAAC,KAAc;IACzB,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,yFAAyF;AACzF,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;AAE5E,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,8EAA8E,CAAC;IAC5G,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,uBAAuB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACrG,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;QAAE,OAAO,4CAA4C,CAAC;IAC7J,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,KAAK,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC;QAC1I,OAAO,6CAA6C,aAAa,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,2CAA2C,CAAC;IAC3H,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAC7D,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO,0BAA0B,CAAC;YAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC;YAC1F,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,QAAQ;gBAAE,OAAO,gDAAgD,CAAC;YAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC;YAC5I,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,qFAAqF,CAAC;QAChH,CAAC;QACD,KAAK,MAAM;YACT,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC;QAC9D,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,sCAAsC,CAAC;YACjG,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC/B,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2CAA2C,CAAC;QACnH,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO,6CAA6C,CAAC;YAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAE,OAAO,iDAAiD,CAAC;YACxI,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YACjC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,OAAO,0CAA0C,CAAC;YAClH,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO,iDAAiD,CAAC;YACrH,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC;QACtG,CAAC;QACD,KAAK,OAAO;YACV,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC;QACzE;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,6GAA6G;AAC7G,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;IACrH,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACjE,CAAC;AAED,MAAM,gBAAgB,GAAG,gFAAgF,CAAC;AAE1G,2GAA2G;AAC3G,SAAS,SAAS,CAAC,IAAa,EAAE,KAAa,EAAE,IAAiB;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;IAC9F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC3E,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,eAAe,8CAA8C,EAAE,CAAC;IAC9G,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;IAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,IAAI,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAC;IAClF,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;IACxF,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACvH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,6EAA6E,EAAE,CAAC;IAC1H,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,IAAI,WAAW;QAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACpD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACb,MAAM,QAAQ,GAAa,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAU,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACjH,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAC/C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAS,CAAC;IACrE,IAAI,KAAK;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,IAAI,IAAI;QAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;IAC/B,IAAI,YAAY;QAAE,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IACzD,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAa,CAAC;IACxF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,sBAAuB,KAAe,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACrH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,uCAAuC,EAAE,CAAC,EAAE,CAAC;IAEnI,MAAM,SAAS,GAAe,EAAE,CAAC;IACjC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ,IAAI,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;YAC3C,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,eAAe,CAAC,SAAS,CAAC,CAAC;IAC3B,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACtC,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,SAAqB;IAC5C,iHAAiH;IACjH,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,YAAY;YAAE,SAAS;QACvD,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,MAAM;YAAE,CAAC,CAAC,YAAY,GAAG,GAAG,MAAM,aAAa,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,SAAqB,EAAE,UAAuB;IACpE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,2BAA2B,IAAI,EAAE,EAAE,CAAC,CAAC;iBACjF,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC;iBAC1F,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,IAAI,gEAAgE,EAAE,CAAC,CAAC;YACvH,CAAC;;gBACI,SAAS;YACd,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3G,CAAC;AAED,SAAS,YAAY,CAAC,SAAqB;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAAE,SAAS;YACrC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC3C,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,SAAqB,EAAE,GAAa;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,SAAS;YACvD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,YAAY,CAAC,SAAqB,EAAE,MAA8B;IAChF,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,QAAkB;IACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC;AACzC,CAAC"}
@@ -1,14 +1,15 @@
1
1
  import { createRequire } from 'node:module';
2
+ import { vibePath } from './paths.js';
2
3
  import { denied } from './errors.js';
3
4
  import { inspectContract } from './inspect.js';
4
5
  import { listRegressions, regressionProblems } from './regress.js';
5
6
  import fs from 'node:fs';
6
- import path from 'node:path';
7
+ const SCENARIOS_FILE = 'scenarios.yaml';
7
8
  const runtime = createRequire(import.meta.url)('../../hooks/session-state.cjs');
8
9
  export function bindSession(root, requested) {
9
10
  try {
10
11
  const id = runtime.identity(requested ? { session_id: requested } : {});
11
- const contract = fs.existsSync(path.join(root, '.vibe/scenarios.yaml')) ? inspectContract(root) : { scenarios: [], rejections: [] };
12
+ const contract = fs.existsSync(vibePath(root, SCENARIOS_FILE)) ? inspectContract(root) : { scenarios: [], rejections: [] };
12
13
  if (contract.rejections.length || regressionProblems(root).length)
13
14
  throw denied('cannot bind an invalid contract; inspect and correct it first');
14
15
  return runtime.bindSession(root, id, [...contract.scenarios, ...listRegressions(root)]);
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAY7B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,+BAA+B,CAK7E,CAAC;AACF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAkB;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACpI,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,MAAM,MAAM,CAAC,+DAA+D,CAAC,CAAC;QACjJ,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AAC7D,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,SAAkB,IAAiB,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5I,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAwB;IACvE,IAAI,CAAC;QAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAChD,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,MAAM,CAAC,yCAA0C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;AACtG,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAYxC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,+BAA+B,CAK7E,CAAC;AACF,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,SAAkB;IAC1D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QAC3H,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,MAAM,MAAM,CAAC,+DAA+D,CAAC,CAAC;QACjJ,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,MAAM,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AAC7D,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,SAAkB,IAAiB,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5I,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAwB;IACvE,IAAI,CAAC;QAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAAC,CAAC;IAChD,OAAO,KAAK,EAAE,CAAC;QAAC,MAAM,MAAM,CAAC,yCAA0C,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,CAAC;AACtG,CAAC"}
package/dist/core/size.js CHANGED
@@ -5,8 +5,18 @@ import { relPosix } from './paths.js';
5
5
  // The edit hook ships without dist, so the patterns and the limit live in its dependency-free module.
6
6
  const limit = createRequire(import.meta.url)('../../hooks/file-size.cjs');
7
7
  export const { MAX_FILE_LINES, SOURCE, DEFAULT_EXCLUDE, limited, lineCount } = limit;
8
- /** A function-like header for the brace languages: a named function, `func`/`fn` with an optional receiver, an arrow assigned to a binding, or a bare `name(...) {` method. */
9
- export const BRACE_HEADER = /^\s*(?:export\s+)?(?:default\s+)?(?:async\s+)?(?:function\s*\*?\s*([A-Za-z_$][\w$]*)|(?:public|private|protected|static|override|final|\s)*\s*(?:func|fn)\s+(?:\([^)]*\)\s*)?([A-Za-z_$][\w$]*)|(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*(?::[^=]+)?=>\s*\{\s*$|(?:public|private|protected|static|async|override|\s)*\s*([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*(?::\s*[^{]+)?\{\s*$)/;
8
+ const IDENT = String.raw `[A-Za-z_$][\w$]*`;
9
+ const BRACE_HEADER_ALTERNATIVES = [
10
+ String.raw `function\s*\*?\s*(${IDENT})`,
11
+ String.raw `(?:public|private|protected|static|override|final|\s)*\s*(?:func|fn)\s+(?:\([^)]*\)\s*)?(${IDENT})`,
12
+ String.raw `(?:const|let|var)\s+(${IDENT})\s*=\s*(?:async\s*)?(?:\([^)]*\)|${IDENT})\s*(?::[^=]+)?=>\s*\{\s*$`,
13
+ String.raw `(?:public|private|protected|static|async|override|\s)*\s*(${IDENT})\s*\([^)]*\)\s*(?::\s*[^{]+)?\{\s*$`,
14
+ ];
15
+ /**
16
+ * A function-like header for the brace languages: a named function, `func`/`fn` with an optional receiver,
17
+ * an arrow assigned to a binding, or a bare `name(...) {` method.
18
+ */
19
+ export const BRACE_HEADER = new RegExp(String.raw `^\s*(?:export\s+)?(?:default\s+)?(?:async\s+)?(?:${BRACE_HEADER_ALTERNATIVES.join('|')})`);
10
20
  /** A Python `def`, indentation-delimited. */
11
21
  export const INDENT_HEADER = /^(\s*)(?:async\s+)?def\s+([A-Za-z_]\w*)\s*\(/;
12
22
  /** Every source file under `dir`, skipping `exclude`. */
@@ -43,14 +53,23 @@ function stepCode(ch, st) {
43
53
  }
44
54
  return 0;
45
55
  }
56
+ /** Characters after which a `/` opens a regex literal rather than dividing. */
57
+ const REGEX_AFTER_PUNCTUATION = '(,=:[!&|?{};+-*%<>~^';
58
+ /** Control-flow words that look like a method header (`if (x) {`) and are not one. */
59
+ const NOT_A_FUNCTION = ['if', 'for', 'while', 'switch', 'catch', 'else', 'return', 'with'];
60
+ const DEFAULT_PATHS = ['.'];
61
+ const ANONYMOUS = '(anonymous)';
46
62
  const REGEX_AFTER_WORD = new Set(['return', 'typeof', 'case', 'do', 'else', 'in', 'of', 'instanceof', 'void', 'delete', 'throw', 'await', 'yield']);
47
- /** A `/` starts a regex literal where an expression can start: after an operator, an opener, a separator, a keyword, or at the start of the line — not after a value. */
63
+ /**
64
+ * A `/` starts a regex literal where an expression can start: after an operator, an opener, a separator, a keyword,
65
+ * or at the start of the line — not after a value.
66
+ */
48
67
  function regexCanStart(line, i) {
49
68
  const before = line.slice(0, i).replace(/\s+$/, '');
50
69
  if (before === '')
51
70
  return true;
52
71
  const last = before.at(-1);
53
- if ('(,=:[!&|?{};+-*%<>~^'.includes(last))
72
+ if (REGEX_AFTER_PUNCTUATION.includes(last))
54
73
  return true;
55
74
  const word = /([A-Za-z_$][\w$]*)$/.exec(before)?.[1];
56
75
  return word !== undefined && REGEX_AFTER_WORD.has(word);
@@ -116,8 +135,8 @@ function braceFunctions(lines) {
116
135
  const m = BRACE_HEADER.exec(lines[i]);
117
136
  if (!m || !lines[i].includes('{'))
118
137
  continue;
119
- const name = m[1] ?? m[2] ?? m[3] ?? m[4] ?? '(anonymous)';
120
- if (['if', 'for', 'while', 'switch', 'catch', 'else', 'return', 'with'].includes(name))
138
+ const name = m[1] ?? m[2] ?? m[3] ?? m[4] ?? ANONYMOUS;
139
+ if (NOT_A_FUNCTION.includes(name))
121
140
  continue;
122
141
  let depth = 0;
123
142
  let end = i;
@@ -155,7 +174,7 @@ function indentFunctions(lines) {
155
174
  export function measureSize(root, paths, options) {
156
175
  const exclude = options.exclude ?? DEFAULT_EXCLUDE;
157
176
  const files = [];
158
- for (const p of paths.length ? paths : ['.']) {
177
+ for (const p of paths.length ? paths : DEFAULT_PATHS) {
159
178
  const full = path.resolve(root, p);
160
179
  if (!fs.existsSync(full))
161
180
  continue;
@@ -176,9 +195,10 @@ export function measureSize(root, paths, options) {
176
195
  if (lines.length > options.maxFile)
177
196
  findings.push({ file: rel, kind: 'file', name: rel, lines: lines.length, limit: options.maxFile });
178
197
  const fns = /\.py$/.test(file) ? indentFunctions(lines) : braceFunctions(lines);
179
- for (const fn of fns)
198
+ for (const fn of fns) {
180
199
  if (fn.lines > options.maxFunction)
181
200
  findings.push({ file: rel, kind: 'function', name: fn.name, lines: fn.lines, limit: options.maxFunction });
201
+ }
182
202
  }
183
203
  return { files: files.length, totalLines, largestFile: largest, findings };
184
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"size.js","sourceRoot":"","sources":["../../src/core/size.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"size.js","sourceRoot":"","sources":["../../src/core/size.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,10 @@ import { inboxPath } from './inbox.js';
10
10
  import { record } from './ledger.js';
11
11
  import { vibePath } from './paths.js';
12
12
  import { listRegressions } from './regress.js';
13
+ import { hostKey } from './research-queries.js';
14
+ import { CLAUDE_DIR, CODEX_DIR } from './locations.js';
13
15
  import { readState } from './state.js';
16
+ import { HTTP_OK } from './checks/http.js';
14
17
  /**
15
18
  * Project-local skills. Nothing accumulates globally: a skill lives in this repository's
16
19
  * `.vibe/skills/installed`, is registered in `.vibe/skills/registry.json`, and is
@@ -19,15 +22,29 @@ import { readState } from './state.js';
19
22
  */
20
23
  export const COMMON_SKILLS = ['vibe'];
21
24
  const SKILL_DIRS = ['.vibe/skills/installed'];
22
- const NAME_RE = /^[a-z][a-z0-9.-]{0,39}$/;
25
+ /** Where the host clients keep project skills; a pruned skill is removed from these too. */
26
+ const CLIENT_SKILL_DIRS = [`${CLAUDE_DIR}/skills`, `${CODEX_DIR}/skills`];
27
+ const NAME_MAX = 40;
28
+ const NAME_RE = new RegExp(`^[a-z][a-z0-9.-]{0,${NAME_MAX - 1}}$`);
29
+ const REGISTRY_DIR = 'skills';
30
+ const REGISTRY_FILE = 'registry.json';
31
+ const DISMISSED_FILE = 'dismissed.jsonl';
23
32
  const DEFAULT_UNUSED_RUNS = 10;
24
33
  const MAX_PROPOSALS = 3;
25
34
  const MAX_COMMANDS_SHOWN = 20;
35
+ /** A skill is proposed from a repeated signal: this many regressions on a scenario, or this many askings of a question. */
36
+ const REPEAT_SIGNAL = 2;
37
+ const QUESTION_TITLE_MAX = 60;
38
+ const SHORT_SHA = 7;
39
+ const PINNED_SHA = 12;
40
+ const DEFAULT_BRANCH = 'main';
41
+ /** Placeholder URL in a skill scaffolded with an http check. */
42
+ const TEMPLATE_URL = 'https://example.com/health';
26
43
  function registryPath(root) {
27
- return vibePath(root, 'skills', 'registry.json');
44
+ return vibePath(root, REGISTRY_DIR, REGISTRY_FILE);
28
45
  }
29
46
  function dismissedPath(root) {
30
- return vibePath(root, 'skills', 'dismissed.jsonl');
47
+ return vibePath(root, REGISTRY_DIR, DISMISSED_FILE);
31
48
  }
32
49
  export function readRegistry(root) {
33
50
  return readJson(registryPath(root)) ?? { skills: [] };
@@ -42,7 +59,7 @@ function templateCheck(type, name) {
42
59
  case 'file':
43
60
  return { type: 'file', path: `out/${name}.csv`, exists: true };
44
61
  case 'http':
45
- return { type: 'http', url: 'https://example.com/health', expect: { status: 200 } };
62
+ return { type: 'http', url: TEMPLATE_URL, expect: { status: HTTP_OK } };
46
63
  case 'eval':
47
64
  return { type: 'eval', cases: `evals/${name}.jsonl`, runner: `node scripts/${name}.js`, expect: { pass: 1 } };
48
65
  default:
@@ -50,12 +67,15 @@ function templateCheck(type, name) {
50
67
  }
51
68
  }
52
69
  function skillBody(name, check, from) {
53
- const scenario = YAML.stringify([{ id: name, then: from ? `[from scenario ${from}] fill in the success statement` : 'fill in the success statement', check }]).trim();
70
+ const then = from ? `[from scenario ${from}] fill in the success statement` : 'fill in the success statement';
71
+ const scenario = YAML.stringify([{ id: name, then, check }]).trim();
54
72
  return [
55
73
  '---', `name: ${name}`, 'description: "fill in — one line saying when this skill applies"', 'user-invocable: false', '---', '',
56
74
  `# ${name}`, '', '## When', '', 'fill in — the situation that repeats in this project', '', '## Procedure', '',
57
- `1. Run \`vibe skill used ${name}\` so the ledger knows the skill was applied.`, '2. fill in — the steps, each one checkable', '', '## Check', '',
58
- 'This skill is installed because it is bound to the check below. Add it to `scenarios.yaml` when the procedure is part of an intent.', '', '```yaml', scenario, '```', '',
75
+ `1. Run \`vibe skill used ${name}\` so the ledger knows the skill was applied.`, '2. fill in — the steps, each one checkable', '',
76
+ '## Check', '',
77
+ 'This skill is installed because it is bound to the check below.',
78
+ 'Add it to `scenarios.yaml` when the procedure is part of an intent.', '', '```yaml', scenario, '```', '',
59
79
  ].join('\n');
60
80
  }
61
81
  function writeSkillFiles(root, name, files) {
@@ -74,9 +94,12 @@ function register(root, skill) {
74
94
  registry.skills = [...registry.skills.filter((s) => s.name !== skill.name), skill];
75
95
  writeRegistry(root, registry);
76
96
  }
97
+ function newSkill(name, kind, source, check, license, run, paths) {
98
+ return { name, kind, source, check, license, installedAt: nowIso(), installedRun: run, lastUsedRun: null, lastUsedAt: null, paths };
99
+ }
77
100
  export function createSkill(root, input) {
78
101
  if (!NAME_RE.test(input.name))
79
- throw usage('skill name: 1-40 chars of lowercase letters, digits, dots, hyphens');
102
+ throw usage(`skill name: 1-${NAME_MAX} chars of lowercase letters, digits, dots, hyphens`);
80
103
  if (COMMON_SKILLS.includes(input.name))
81
104
  throw usage(`${input.name} is a common skill shipped with vibe`);
82
105
  let check;
@@ -95,7 +118,7 @@ export function createSkill(root, input) {
95
118
  }
96
119
  const paths = writeSkillFiles(root, input.name, { 'SKILL.md': skillBody(input.name, check, input.fromScenario ?? null) });
97
120
  const run = readState(root).runs;
98
- register(root, { name: input.name, kind: 'created', source: 'created', check, license: null, installedAt: nowIso(), installedRun: run, lastUsedRun: null, lastUsedAt: null, paths });
121
+ register(root, newSkill(input.name, 'created', 'created', check, null, run, paths));
99
122
  const edges = input.fromScenario ? [{ type: 'implements', from: `skill:${input.name}`, to: `scenario:${input.fromScenario}` }] : [];
100
123
  record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `create ${input.name} (${check.type})`, edges });
101
124
  return { name: input.name, paths, check };
@@ -133,10 +156,11 @@ async function locateSkill(client, owner, repo, name, sha) {
133
156
  /* try the next layout */
134
157
  }
135
158
  }
136
- throw usage(`no SKILL.md found in ${owner}/${repo}${name ? ` for ${name}` : ''} at ${sha.slice(0, 7)}`);
159
+ throw usage(`no SKILL.md found in ${owner}/${repo}${name ? ` for ${name}` : ''} at ${sha.slice(0, SHORT_SHA)}`);
137
160
  }
138
161
  const MAX_SKILL_FILES = 200;
139
- const MAX_SKILL_BYTES = 5 * 1024 * 1024;
162
+ const BYTES_PER_MB = 1024 * 1024;
163
+ const MAX_SKILL_BYTES = 5 * BYTES_PER_MB;
140
164
  /** The whole skill directory — `references/`, `scripts/`, `assets/` and deeper — keyed by path relative to the skill, within a cap. */
141
165
  async function fetchFiles(client, owner, repo, entries, sha, base = '') {
142
166
  const files = {};
@@ -159,8 +183,10 @@ async function fetchFiles(client, owner, repo, entries, sha, base = '') {
159
183
  continue;
160
184
  const text = full.encoding === 'base64' ? Buffer.from(full.content, 'base64').toString('utf-8') : full.content;
161
185
  bytes += Buffer.byteLength(text);
162
- if (Object.keys(files).length >= MAX_SKILL_FILES || bytes > MAX_SKILL_BYTES)
163
- throw usage(`the skill is over the cap (${MAX_SKILL_FILES} files, ${MAX_SKILL_BYTES / 1024 / 1024} MB) at ${rel} — install it by hand if it is really that large`);
186
+ if (Object.keys(files).length >= MAX_SKILL_FILES || bytes > MAX_SKILL_BYTES) {
187
+ const cap = `${MAX_SKILL_FILES} files, ${MAX_SKILL_BYTES / BYTES_PER_MB} MB`;
188
+ throw usage(`the skill is over the cap (${cap}) at ${rel} — install it by hand if it is really that large`);
189
+ }
164
190
  files[rel] = text;
165
191
  }
166
192
  };
@@ -178,7 +204,7 @@ export async function addSkill(root, input, client = githubClient()) {
178
204
  const license = meta.license?.spdx_id ?? null;
179
205
  let sha = input.pin ?? null;
180
206
  if (!sha) {
181
- const branch = (await client.get(`/repos/${owner}/${repo}/branches/${meta.default_branch ?? 'main'}`));
207
+ const branch = (await client.get(`/repos/${owner}/${repo}/branches/${meta.default_branch ?? DEFAULT_BRANCH}`));
182
208
  sha = branch.commit?.sha ?? null;
183
209
  }
184
210
  if (!sha)
@@ -186,11 +212,11 @@ export async function addSkill(root, input, client = githubClient()) {
186
212
  const { entries } = await locateSkill(client, owner, repo, name, sha);
187
213
  const files = await fetchFiles(client, owner, repo, entries, sha);
188
214
  const commands = commandsIn(files['SKILL.md']);
189
- const ref = `${owner}/${repo}${name ? `@${name}` : ''}#${sha.slice(0, 12)}`;
215
+ const ref = `${owner}/${repo}${name ? `@${name}` : ''}#${sha.slice(0, PINNED_SHA)}`;
190
216
  if (!input.yes)
191
217
  return { installed: false, ref, sha, license, commands, files: Object.keys(files) };
192
218
  const paths = writeSkillFiles(root, skillName, files);
193
- register(root, { name: skillName, kind: 'added', source: ref, check: null, license, installedAt: nowIso(), installedRun: readState(root).runs, lastUsedRun: null, lastUsedAt: null, paths });
219
+ register(root, newSkill(skillName, 'added', ref, null, license, readState(root).runs, paths));
194
220
  record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `add ${ref} (${license ?? 'no license'}) confirmed by --yes` });
195
221
  return { installed: true, ref, sha, license, commands, paths };
196
222
  }
@@ -214,13 +240,16 @@ export function pruneSkills(root, options = {}) {
214
240
  const registry = readRegistry(root);
215
241
  const stale = registry.skills.filter((s) => current - (s.lastUsedRun ?? s.installedRun) >= unusedRuns);
216
242
  if (!options.dryRun) {
217
- for (const s of stale)
218
- for (const dir of [...SKILL_DIRS, '.claude/skills', '.codex/skills'])
243
+ for (const s of stale) {
244
+ for (const dir of [...SKILL_DIRS, ...CLIENT_SKILL_DIRS])
219
245
  fs.rmSync(path.join(root, dir, s.name), { recursive: true, force: true });
246
+ }
220
247
  registry.skills = registry.skills.filter((s) => !stale.includes(s));
221
248
  writeRegistry(root, registry);
222
- if (stale.length > 0)
223
- record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `prune ${stale.map((s) => s.name).join(', ')} (unused ${unusedRuns} runs)` });
249
+ if (stale.length > 0) {
250
+ const names = stale.map((s) => s.name).join(', ');
251
+ record(root, { event: 'skill', client: detectClient(), model: detectModel(), detail: `prune ${names} (unused ${unusedRuns} runs)` });
252
+ }
224
253
  }
225
254
  return { removed: stale.map((s) => s.name), kept: registry.skills.filter((s) => !stale.includes(s)).map((s) => s.name), threshold: unusedRuns };
226
255
  }
@@ -237,15 +266,16 @@ function hostSignals(root, project) {
237
266
  continue;
238
267
  let key;
239
268
  try {
240
- key = new URL(s.check.url).hostname.replace(/^(www|api)\./, '').split('.')[0] ?? '';
269
+ key = hostKey(s.check.url) ?? '';
241
270
  }
242
271
  catch {
243
272
  continue;
244
273
  }
245
274
  if (!key || key === 'localhost' || /^\d+$/.test(key) || project.some((p) => p.name.includes(key)))
246
275
  continue;
247
- if (!out.some((p) => p.ref.endsWith(key)))
248
- out.push({ kind: 'import', ref: `vibe skill search ${key}`, why: `scenario ${s.id} targets ${key}; no project skill covers it`, source: 'scenarios' });
276
+ if (out.some((p) => p.ref.endsWith(key)))
277
+ continue;
278
+ out.push({ kind: 'import', ref: `vibe skill search ${key}`, why: `scenario ${s.id} targets ${key}; no project skill covers it`, source: 'scenarios' });
249
279
  }
250
280
  return out;
251
281
  }
@@ -260,9 +290,10 @@ function regressionSignals(root, project) {
260
290
  const out = [];
261
291
  for (const [id, n] of bySource) {
262
292
  const scenario = scenarios.find((s) => s.id === id);
263
- if (n < 2 || !scenario || scenario.check.type === 'human' || project.some((p) => p.name === `${id}-guard`))
293
+ if (n < REPEAT_SIGNAL || !scenario || scenario.check.type === 'human' || project.some((p) => p.name === `${id}-guard`))
264
294
  continue;
265
- out.push({ kind: 'create', ref: `vibe skill create ${id}-guard --from-scenario ${id}`, why: `${n} regressions trace to scenario ${id}`, source: 'regressions' });
295
+ const ref = `vibe skill create ${id}-guard --from-scenario ${id}`;
296
+ out.push({ kind: 'create', ref, why: `${n} regressions trace to scenario ${id}`, source: 'regressions' });
266
297
  }
267
298
  return out;
268
299
  }
@@ -273,19 +304,26 @@ function questionSignals(root) {
273
304
  continue;
274
305
  counts.set(e.question, (counts.get(e.question) ?? 0) + 1);
275
306
  }
276
- return [...counts.entries()].filter(([, n]) => n >= 2).map(([q, n]) => ({ kind: 'knowledge', ref: `vibe knowledge add --title ${JSON.stringify(q.slice(0, 60))}`, why: `the same question was asked ${n} times — an answer in knowledge/ stops it`, source: 'inbox' }));
307
+ return [...counts.entries()].filter(([, n]) => n >= REPEAT_SIGNAL).map(([q, n]) => ({
308
+ kind: 'knowledge', ref: `vibe knowledge add --title ${JSON.stringify(q.slice(0, QUESTION_TITLE_MAX))}`,
309
+ why: `the same question was asked ${n} times — an answer in knowledge/ stops it`, source: 'inbox',
310
+ }));
277
311
  }
278
312
  function handoffSignals(root, project) {
279
313
  if (readState(root).state !== 'DONE')
280
314
  return [];
281
315
  return loadScenarios(root)
282
316
  .filter((s) => s.irreversible && s.check.type !== 'human' && !project.some((p) => p.name === `run-${s.id}`))
283
- .map((s) => ({ kind: 'create', ref: `vibe skill create run-${s.id} --from-scenario ${s.id}`, why: `handoff: ${s.id} is irreversible (${s.irreversible}) — the operator needs the procedure with its check`, source: 'state' }));
317
+ .map((s) => ({
318
+ kind: 'create', ref: `vibe skill create run-${s.id} --from-scenario ${s.id}`,
319
+ why: `handoff: ${s.id} is irreversible (${s.irreversible}) — the operator needs the procedure with its check`, source: 'state',
320
+ }));
284
321
  }
285
322
  export function suggestSkills(root, all = false) {
286
323
  const project = readRegistry(root).skills;
287
324
  const dismissed = new Set(readJsonl(dismissedPath(root)).map((d) => d.ref));
288
- const proposals = [...handoffSignals(root, project), ...regressionSignals(root, project), ...hostSignals(root, project), ...questionSignals(root)].filter((p) => !dismissed.has(p.ref));
325
+ const signals = [...handoffSignals(root, project), ...regressionSignals(root, project), ...hostSignals(root, project), ...questionSignals(root)];
326
+ const proposals = signals.filter((p) => !dismissed.has(p.ref));
289
327
  return all ? proposals : proposals.slice(0, MAX_PROPOSALS);
290
328
  }
291
329
  //# sourceMappingURL=skills.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,27 @@
1
1
  const ENDPOINT = 'https://skillsmp.com/api/v1/skills/search';
2
- const MAX_BYTES = 131_072;
2
+ const API_KEY_ENV = 'SKILLSMP_API_KEY';
3
+ /** Largest response read; a bigger one is refused. */
4
+ const MAX_BYTES = 128 * 1024;
5
+ const REQUEST_TIMEOUT_MS = 5000;
6
+ /** Skills asked of the catalog and kept from its answer. */
7
+ const RESULT_LIMIT = 5;
8
+ const QUERY_MAX = 500;
9
+ const DESCRIPTION_MAX = 400;
10
+ const GITHUB_URL_MAX = 1000;
11
+ /** Every catalog hit scores the same: the catalog gives no quality signal, so discovery hints rank after scored candidates. */
12
+ const HINT_SCORE = 3;
13
+ /** A GitHub repository URL, optionally pointing at a `tree/` directory or a `blob/` file inside it. */
14
+ const GITHUB_SKILL_URL = /^https:\/\/github\.com\/([\w-]+)\/([\w.-]+)(?:\/(tree|blob)\/([\w.-]+)\/([\w./-]+))?\/?$/;
15
+ /** Shown for any failure; a response body or transport error could hold the API key, so neither is copied. */
16
+ export const SKILLSMP_UNAVAILABLE = 'SkillsMP unavailable, limited or invalid; using existing GitHub search';
3
17
  /** Catalog metadata is a discovery hint. Installation still resolves and previews GitHub source. */
4
18
  export function skillsmpCandidate(value) {
5
19
  if (!value || typeof value !== 'object')
6
20
  return null;
7
21
  const item = value;
8
- if (typeof item.githubUrl !== 'string' || item.githubUrl.length > 1000)
22
+ if (typeof item.githubUrl !== 'string' || item.githubUrl.length > GITHUB_URL_MAX)
9
23
  return null;
10
- const match = /^https:\/\/github\.com\/([\w-]+)\/([\w.-]+)(?:\/(tree|blob)\/([\w.-]+)\/([\w./-]+))?\/?$/.exec(item.githubUrl);
24
+ const match = GITHUB_SKILL_URL.exec(item.githubUrl);
11
25
  if (!match)
12
26
  return null;
13
27
  let dir = (match[5] ?? '').replace(/\/$/, '');
@@ -20,21 +34,21 @@ export function skillsmpCandidate(value) {
20
34
  return null;
21
35
  const name = dir.replace(/^skills\//, '');
22
36
  const ref = `${match[1]}/${match[2]}${name ? `@${name}` : ''}`;
23
- const description = typeof item.description === 'string' ? item.description.replace(/[\r\n\t|]/g, ' ').slice(0, 400) : '';
37
+ const description = typeof item.description === 'string' ? item.description.replace(/[\r\n\t|]/g, ' ').slice(0, DESCRIPTION_MAX) : '';
24
38
  return { kind: 'skill', ref, url: item.githubUrl, why: `SkillsMP discovery (unverified): ${description}`,
25
- stars: null, updatedAt: null, license: null, action: `vibe skill add ${ref}`, score: 3 };
39
+ stars: null, updatedAt: null, license: null, action: `vibe skill add ${ref}`, score: HINT_SCORE };
26
40
  }
27
41
  export function skillsmpClient(request = fetch) {
28
42
  return { search: async (query) => {
29
43
  const headers = { Accept: 'application/json' };
30
- const key = process.env['SKILLSMP_API_KEY']?.trim();
44
+ const key = process.env[API_KEY_ENV]?.trim();
31
45
  if (key)
32
46
  headers.Authorization = `Bearer ${key}`;
33
47
  const url = new URL(ENDPOINT);
34
- url.searchParams.set('q', query.slice(0, 500));
35
- url.searchParams.set('limit', '5');
48
+ url.searchParams.set('q', query.slice(0, QUERY_MAX));
49
+ url.searchParams.set('limit', String(RESULT_LIMIT));
36
50
  try {
37
- const response = await request(url, { headers, redirect: 'error', signal: AbortSignal.timeout(5000) });
51
+ const response = await request(url, { headers, redirect: 'error', signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS) });
38
52
  if (!response.ok)
39
53
  throw new Error(`HTTP ${response.status}`);
40
54
  const reader = response.body?.getReader();
@@ -59,11 +73,11 @@ export function skillsmpClient(request = fetch) {
59
73
  const doc = JSON.parse(Buffer.concat(chunks).toString('utf8'));
60
74
  if (doc?.success !== true || !Array.isArray(doc.data?.skills))
61
75
  throw new Error('invalid response');
62
- return doc.data.skills.slice(0, 5).map(skillsmpCandidate).filter((c) => c !== null);
76
+ return doc.data.skills.slice(0, RESULT_LIMIT).map(skillsmpCandidate)
77
+ .filter((c) => c !== null);
63
78
  }
64
79
  catch {
65
- // Never copy response bodies or transport errors: either may contain the API key.
66
- throw new Error('SkillsMP unavailable, limited or invalid; using existing GitHub search');
80
+ throw new Error(SKILLSMP_UNAVAILABLE);
67
81
  }
68
82
  } };
69
83
  }