claude-flow 2.7.0-alpha.10 → 2.7.0-alpha.11

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 (536) hide show
  1. package/.claude/settings.reasoningbank-example.json +124 -0
  2. package/.claude/settings.reasoningbank-minimal.json +40 -0
  3. package/.claude/skills/agentdb-memory-patterns/SKILL.md +166 -0
  4. package/.claude/skills/agentdb-vector-search/SKILL.md +126 -0
  5. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  6. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  7. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  8. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  9. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  10. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  11. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  12. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  13. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  14. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  15. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  16. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  17. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  18. package/.claude/skills/skill-builder/SKILL.md +910 -0
  19. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  20. package/.claude/skills/stream-chain/SKILL.md +563 -0
  21. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  22. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  23. package/.claude/skills/verification-quality/SKILL.md +649 -0
  24. package/.claude/test-reasoningbank-hooks.sh +99 -0
  25. package/CHANGELOG.md +304 -0
  26. package/README.md +231 -191
  27. package/bin/claude-flow +1 -1
  28. package/docs/COMMANDS_TO_SKILLS_MIGRATION.md +382 -0
  29. package/docs/FINAL_INIT_STRUCTURE.md +320 -0
  30. package/docs/reasoningbank/CLAUDE-CODE-INTEGRATION.md +563 -0
  31. package/docs/reasoningbank/EXAMPLES.md +611 -0
  32. package/docs/reasoningbank/README.md +1139 -0
  33. package/docs/reasoningbank/agentic-flow-integration.md +800 -0
  34. package/docs/reasoningbank/architecture.md +680 -0
  35. package/docs/reasoningbank/google-research.md +1017 -0
  36. package/docs/reasoningbank/models/.claude-flow/metrics/agent-metrics.json +1 -0
  37. package/docs/reasoningbank/models/.claude-flow/metrics/performance.json +87 -0
  38. package/docs/reasoningbank/models/.claude-flow/metrics/task-metrics.json +10 -0
  39. package/docs/reasoningbank/models/HOW-TO-TRAIN.md +537 -0
  40. package/docs/reasoningbank/models/HOW-TO-USE.md +655 -0
  41. package/docs/reasoningbank/models/INDEX.md +276 -0
  42. package/docs/reasoningbank/models/README.md +345 -0
  43. package/docs/reasoningbank/models/_docs/COMPATIBILITY.md +448 -0
  44. package/docs/reasoningbank/models/_docs/COMPLETION-SUMMARY.md +478 -0
  45. package/docs/reasoningbank/models/_docs/README.md +80 -0
  46. package/docs/reasoningbank/models/_docs/SCHEMA-UPDATE-SUMMARY.md +376 -0
  47. package/docs/reasoningbank/models/_docs/VERIFICATION-COMPLETE.md +370 -0
  48. package/docs/reasoningbank/models/_scripts/README.md +270 -0
  49. package/docs/reasoningbank/models/_scripts/benchmark-all.cjs +407 -0
  50. package/docs/reasoningbank/models/_scripts/fix-schema-compatibility.cjs +300 -0
  51. package/docs/reasoningbank/models/_scripts/schema-validator.cjs +360 -0
  52. package/docs/reasoningbank/models/_scripts/training-coordinator.cjs +85 -0
  53. package/docs/reasoningbank/models/_scripts/validation-suite.cjs +239 -0
  54. package/docs/reasoningbank/models/benchmark-output.log +41 -0
  55. package/docs/reasoningbank/models/code-reasoning/.claude-flow/metrics/agent-metrics.json +1 -0
  56. package/docs/reasoningbank/models/code-reasoning/.claude-flow/metrics/performance.json +87 -0
  57. package/docs/reasoningbank/models/code-reasoning/.claude-flow/metrics/task-metrics.json +18 -0
  58. package/docs/reasoningbank/models/code-reasoning/.swarm/SCHEMA-FIX-REPORT.md +69 -0
  59. package/docs/reasoningbank/models/code-reasoning/.swarm/memory.db +0 -0
  60. package/docs/reasoningbank/models/code-reasoning/.swarm/memory.db.backup +0 -0
  61. package/docs/reasoningbank/models/code-reasoning/README.md +451 -0
  62. package/docs/reasoningbank/models/code-reasoning/TRAINING-SUMMARY.md +416 -0
  63. package/docs/reasoningbank/models/code-reasoning/train-code.js +2059 -0
  64. package/docs/reasoningbank/models/code-reasoning/training.log +18 -0
  65. package/docs/reasoningbank/models/code-reasoning/validation-report.md +349 -0
  66. package/docs/reasoningbank/models/domain-expert/.claude-flow/metrics/agent-metrics.json +1 -0
  67. package/docs/reasoningbank/models/domain-expert/.claude-flow/metrics/performance.json +87 -0
  68. package/docs/reasoningbank/models/domain-expert/.claude-flow/metrics/task-metrics.json +18 -0
  69. package/docs/reasoningbank/models/domain-expert/COMPLETION-REPORT.md +451 -0
  70. package/docs/reasoningbank/models/domain-expert/INDEX.md +182 -0
  71. package/docs/reasoningbank/models/domain-expert/README.md +215 -0
  72. package/docs/reasoningbank/models/domain-expert/SCHEMA-FIX-REPORT.md +65 -0
  73. package/docs/reasoningbank/models/domain-expert/SUMMARY.md +286 -0
  74. package/docs/reasoningbank/models/domain-expert/USAGE.md +394 -0
  75. package/docs/reasoningbank/models/domain-expert/demo-queries.sh +42 -0
  76. package/docs/reasoningbank/models/domain-expert/memory.db +0 -0
  77. package/docs/reasoningbank/models/domain-expert/train-domain.js +1324 -0
  78. package/docs/reasoningbank/models/domain-expert/validate.js +218 -0
  79. package/docs/reasoningbank/models/domain-expert/validation-report.md +89 -0
  80. package/docs/reasoningbank/models/google-research/README.md +455 -0
  81. package/docs/reasoningbank/models/google-research/SCHEMA-FIX-REPORT.md +65 -0
  82. package/docs/reasoningbank/models/google-research/memory.db +0 -0
  83. package/docs/reasoningbank/models/google-research/memory.db.backup +0 -0
  84. package/docs/reasoningbank/models/google-research/train-google.js +697 -0
  85. package/docs/reasoningbank/models/google-research/validation-report.md +99 -0
  86. package/docs/reasoningbank/models/google-research/validation-suite.js +323 -0
  87. package/docs/reasoningbank/models/problem-solving/.claude-flow/metrics/agent-metrics.json +1 -0
  88. package/docs/reasoningbank/models/problem-solving/.claude-flow/metrics/performance.json +87 -0
  89. package/docs/reasoningbank/models/problem-solving/.claude-flow/metrics/task-metrics.json +10 -0
  90. package/docs/reasoningbank/models/problem-solving/.swarm/memory.db +0 -0
  91. package/docs/reasoningbank/models/problem-solving/README.md +629 -0
  92. package/docs/reasoningbank/models/problem-solving/SCHEMA-FIX-REPORT.md +66 -0
  93. package/docs/reasoningbank/models/problem-solving/TRAINING_SUMMARY.md +524 -0
  94. package/docs/reasoningbank/models/problem-solving/memory.db +0 -0
  95. package/docs/reasoningbank/models/problem-solving/memory.db.backup +0 -0
  96. package/docs/reasoningbank/models/problem-solving/train-problem.js +1319 -0
  97. package/docs/reasoningbank/models/problem-solving/validation-report.md +300 -0
  98. package/docs/reasoningbank/models/safla/.claude-flow/metrics/agent-metrics.json +1 -0
  99. package/docs/reasoningbank/models/safla/.claude-flow/metrics/performance.json +87 -0
  100. package/docs/reasoningbank/models/safla/.claude-flow/metrics/task-metrics.json +10 -0
  101. package/docs/reasoningbank/models/safla/CHEATSHEET.md +277 -0
  102. package/docs/reasoningbank/models/safla/COMPLETION_REPORT.txt +108 -0
  103. package/docs/reasoningbank/models/safla/MANIFEST.txt +104 -0
  104. package/docs/reasoningbank/models/safla/QUICKSTART.md +349 -0
  105. package/docs/reasoningbank/models/safla/README.md +457 -0
  106. package/docs/reasoningbank/models/safla/SCHEMA-FIX-REPORT.md +68 -0
  107. package/docs/reasoningbank/models/safla/TRAINING_SUMMARY.md +383 -0
  108. package/docs/reasoningbank/models/safla/memory/memory-store.json +11 -0
  109. package/docs/reasoningbank/models/safla/memory.db +0 -0
  110. package/docs/reasoningbank/models/safla/memory.db.backup +0 -0
  111. package/docs/reasoningbank/models/safla/node_modules/.package-lock.json +456 -0
  112. package/docs/reasoningbank/models/safla/node_modules/base64-js/LICENSE +21 -0
  113. package/docs/reasoningbank/models/safla/node_modules/base64-js/README.md +34 -0
  114. package/docs/reasoningbank/models/safla/node_modules/base64-js/base64js.min.js +1 -0
  115. package/docs/reasoningbank/models/safla/node_modules/base64-js/index.d.ts +3 -0
  116. package/docs/reasoningbank/models/safla/node_modules/base64-js/index.js +150 -0
  117. package/docs/reasoningbank/models/safla/node_modules/base64-js/package.json +47 -0
  118. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/LICENSE +21 -0
  119. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/README.md +99 -0
  120. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/binding.gyp +38 -0
  121. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  122. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/common.gypi +68 -0
  123. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/copy.js +31 -0
  124. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/defines.gypi +41 -0
  125. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/download.sh +122 -0
  126. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/patches/1208.patch +15 -0
  127. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/sqlite3/sqlite3.c +261480 -0
  128. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/sqlite3/sqlite3.h +13715 -0
  129. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/sqlite3/sqlite3ext.h +719 -0
  130. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/sqlite3.gyp +80 -0
  131. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/deps/test_extension.c +21 -0
  132. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/database.js +90 -0
  133. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/index.js +3 -0
  134. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  135. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  136. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  137. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  138. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  139. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  140. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  141. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  142. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  143. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  144. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/lib/util.js +12 -0
  145. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/package.json +54 -0
  146. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/src/better_sqlite3.cpp +2186 -0
  147. package/docs/reasoningbank/models/safla/node_modules/better-sqlite3/src/better_sqlite3.hpp +1036 -0
  148. package/docs/reasoningbank/models/safla/node_modules/bindings/LICENSE.md +22 -0
  149. package/docs/reasoningbank/models/safla/node_modules/bindings/README.md +98 -0
  150. package/docs/reasoningbank/models/safla/node_modules/bindings/bindings.js +221 -0
  151. package/docs/reasoningbank/models/safla/node_modules/bindings/package.json +28 -0
  152. package/docs/reasoningbank/models/safla/node_modules/bl/.travis.yml +17 -0
  153. package/docs/reasoningbank/models/safla/node_modules/bl/BufferList.js +396 -0
  154. package/docs/reasoningbank/models/safla/node_modules/bl/LICENSE.md +13 -0
  155. package/docs/reasoningbank/models/safla/node_modules/bl/README.md +247 -0
  156. package/docs/reasoningbank/models/safla/node_modules/bl/bl.js +84 -0
  157. package/docs/reasoningbank/models/safla/node_modules/bl/package.json +37 -0
  158. package/docs/reasoningbank/models/safla/node_modules/bl/test/convert.js +21 -0
  159. package/docs/reasoningbank/models/safla/node_modules/bl/test/indexOf.js +492 -0
  160. package/docs/reasoningbank/models/safla/node_modules/bl/test/isBufferList.js +32 -0
  161. package/docs/reasoningbank/models/safla/node_modules/bl/test/test.js +869 -0
  162. package/docs/reasoningbank/models/safla/node_modules/buffer/AUTHORS.md +70 -0
  163. package/docs/reasoningbank/models/safla/node_modules/buffer/LICENSE +21 -0
  164. package/docs/reasoningbank/models/safla/node_modules/buffer/README.md +410 -0
  165. package/docs/reasoningbank/models/safla/node_modules/buffer/index.d.ts +186 -0
  166. package/docs/reasoningbank/models/safla/node_modules/buffer/index.js +1817 -0
  167. package/docs/reasoningbank/models/safla/node_modules/buffer/package.json +96 -0
  168. package/docs/reasoningbank/models/safla/node_modules/chownr/LICENSE +15 -0
  169. package/docs/reasoningbank/models/safla/node_modules/chownr/README.md +3 -0
  170. package/docs/reasoningbank/models/safla/node_modules/chownr/chownr.js +167 -0
  171. package/docs/reasoningbank/models/safla/node_modules/chownr/package.json +29 -0
  172. package/docs/reasoningbank/models/safla/node_modules/decompress-response/index.d.ts +22 -0
  173. package/docs/reasoningbank/models/safla/node_modules/decompress-response/index.js +58 -0
  174. package/docs/reasoningbank/models/safla/node_modules/decompress-response/license +9 -0
  175. package/docs/reasoningbank/models/safla/node_modules/decompress-response/package.json +56 -0
  176. package/docs/reasoningbank/models/safla/node_modules/decompress-response/readme.md +48 -0
  177. package/docs/reasoningbank/models/safla/node_modules/deep-extend/CHANGELOG.md +46 -0
  178. package/docs/reasoningbank/models/safla/node_modules/deep-extend/LICENSE +20 -0
  179. package/docs/reasoningbank/models/safla/node_modules/deep-extend/README.md +91 -0
  180. package/docs/reasoningbank/models/safla/node_modules/deep-extend/index.js +1 -0
  181. package/docs/reasoningbank/models/safla/node_modules/deep-extend/lib/deep-extend.js +150 -0
  182. package/docs/reasoningbank/models/safla/node_modules/deep-extend/package.json +62 -0
  183. package/docs/reasoningbank/models/safla/node_modules/detect-libc/LICENSE +201 -0
  184. package/docs/reasoningbank/models/safla/node_modules/detect-libc/README.md +163 -0
  185. package/docs/reasoningbank/models/safla/node_modules/detect-libc/index.d.ts +14 -0
  186. package/docs/reasoningbank/models/safla/node_modules/detect-libc/lib/detect-libc.js +313 -0
  187. package/docs/reasoningbank/models/safla/node_modules/detect-libc/lib/elf.js +39 -0
  188. package/docs/reasoningbank/models/safla/node_modules/detect-libc/lib/filesystem.js +51 -0
  189. package/docs/reasoningbank/models/safla/node_modules/detect-libc/lib/process.js +24 -0
  190. package/docs/reasoningbank/models/safla/node_modules/detect-libc/package.json +44 -0
  191. package/docs/reasoningbank/models/safla/node_modules/end-of-stream/LICENSE +21 -0
  192. package/docs/reasoningbank/models/safla/node_modules/end-of-stream/README.md +54 -0
  193. package/docs/reasoningbank/models/safla/node_modules/end-of-stream/index.js +96 -0
  194. package/docs/reasoningbank/models/safla/node_modules/end-of-stream/package.json +37 -0
  195. package/docs/reasoningbank/models/safla/node_modules/expand-template/.travis.yml +6 -0
  196. package/docs/reasoningbank/models/safla/node_modules/expand-template/LICENSE +21 -0
  197. package/docs/reasoningbank/models/safla/node_modules/expand-template/README.md +43 -0
  198. package/docs/reasoningbank/models/safla/node_modules/expand-template/index.js +26 -0
  199. package/docs/reasoningbank/models/safla/node_modules/expand-template/package.json +29 -0
  200. package/docs/reasoningbank/models/safla/node_modules/expand-template/test.js +67 -0
  201. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/.travis.yml +30 -0
  202. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/History.md +21 -0
  203. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/LICENSE +20 -0
  204. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/README.md +74 -0
  205. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/index.d.ts +2 -0
  206. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/index.js +66 -0
  207. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/package.json +32 -0
  208. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/test/test.js +24 -0
  209. package/docs/reasoningbank/models/safla/node_modules/file-uri-to-path/test/tests.json +13 -0
  210. package/docs/reasoningbank/models/safla/node_modules/fs-constants/LICENSE +21 -0
  211. package/docs/reasoningbank/models/safla/node_modules/fs-constants/README.md +26 -0
  212. package/docs/reasoningbank/models/safla/node_modules/fs-constants/browser.js +1 -0
  213. package/docs/reasoningbank/models/safla/node_modules/fs-constants/index.js +1 -0
  214. package/docs/reasoningbank/models/safla/node_modules/fs-constants/package.json +19 -0
  215. package/docs/reasoningbank/models/safla/node_modules/github-from-package/.travis.yml +4 -0
  216. package/docs/reasoningbank/models/safla/node_modules/github-from-package/LICENSE +18 -0
  217. package/docs/reasoningbank/models/safla/node_modules/github-from-package/example/package.json +8 -0
  218. package/docs/reasoningbank/models/safla/node_modules/github-from-package/example/url.js +3 -0
  219. package/docs/reasoningbank/models/safla/node_modules/github-from-package/index.js +17 -0
  220. package/docs/reasoningbank/models/safla/node_modules/github-from-package/package.json +30 -0
  221. package/docs/reasoningbank/models/safla/node_modules/github-from-package/readme.markdown +53 -0
  222. package/docs/reasoningbank/models/safla/node_modules/github-from-package/test/a.json +8 -0
  223. package/docs/reasoningbank/models/safla/node_modules/github-from-package/test/b.json +5 -0
  224. package/docs/reasoningbank/models/safla/node_modules/github-from-package/test/c.json +5 -0
  225. package/docs/reasoningbank/models/safla/node_modules/github-from-package/test/d.json +7 -0
  226. package/docs/reasoningbank/models/safla/node_modules/github-from-package/test/e.json +5 -0
  227. package/docs/reasoningbank/models/safla/node_modules/github-from-package/test/url.js +19 -0
  228. package/docs/reasoningbank/models/safla/node_modules/ieee754/LICENSE +11 -0
  229. package/docs/reasoningbank/models/safla/node_modules/ieee754/README.md +51 -0
  230. package/docs/reasoningbank/models/safla/node_modules/ieee754/index.d.ts +10 -0
  231. package/docs/reasoningbank/models/safla/node_modules/ieee754/index.js +85 -0
  232. package/docs/reasoningbank/models/safla/node_modules/ieee754/package.json +52 -0
  233. package/docs/reasoningbank/models/safla/node_modules/inherits/LICENSE +16 -0
  234. package/docs/reasoningbank/models/safla/node_modules/inherits/README.md +42 -0
  235. package/docs/reasoningbank/models/safla/node_modules/inherits/inherits.js +9 -0
  236. package/docs/reasoningbank/models/safla/node_modules/inherits/inherits_browser.js +27 -0
  237. package/docs/reasoningbank/models/safla/node_modules/inherits/package.json +29 -0
  238. package/docs/reasoningbank/models/safla/node_modules/ini/LICENSE +15 -0
  239. package/docs/reasoningbank/models/safla/node_modules/ini/README.md +102 -0
  240. package/docs/reasoningbank/models/safla/node_modules/ini/ini.js +206 -0
  241. package/docs/reasoningbank/models/safla/node_modules/ini/package.json +33 -0
  242. package/docs/reasoningbank/models/safla/node_modules/mimic-response/index.d.ts +17 -0
  243. package/docs/reasoningbank/models/safla/node_modules/mimic-response/index.js +77 -0
  244. package/docs/reasoningbank/models/safla/node_modules/mimic-response/license +9 -0
  245. package/docs/reasoningbank/models/safla/node_modules/mimic-response/package.json +42 -0
  246. package/docs/reasoningbank/models/safla/node_modules/mimic-response/readme.md +78 -0
  247. package/docs/reasoningbank/models/safla/node_modules/minimist/.eslintrc +29 -0
  248. package/docs/reasoningbank/models/safla/node_modules/minimist/.github/FUNDING.yml +12 -0
  249. package/docs/reasoningbank/models/safla/node_modules/minimist/.nycrc +14 -0
  250. package/docs/reasoningbank/models/safla/node_modules/minimist/CHANGELOG.md +298 -0
  251. package/docs/reasoningbank/models/safla/node_modules/minimist/LICENSE +18 -0
  252. package/docs/reasoningbank/models/safla/node_modules/minimist/README.md +121 -0
  253. package/docs/reasoningbank/models/safla/node_modules/minimist/example/parse.js +4 -0
  254. package/docs/reasoningbank/models/safla/node_modules/minimist/index.js +263 -0
  255. package/docs/reasoningbank/models/safla/node_modules/minimist/package.json +75 -0
  256. package/docs/reasoningbank/models/safla/node_modules/minimist/test/all_bool.js +34 -0
  257. package/docs/reasoningbank/models/safla/node_modules/minimist/test/bool.js +177 -0
  258. package/docs/reasoningbank/models/safla/node_modules/minimist/test/dash.js +43 -0
  259. package/docs/reasoningbank/models/safla/node_modules/minimist/test/default_bool.js +37 -0
  260. package/docs/reasoningbank/models/safla/node_modules/minimist/test/dotted.js +24 -0
  261. package/docs/reasoningbank/models/safla/node_modules/minimist/test/kv_short.js +32 -0
  262. package/docs/reasoningbank/models/safla/node_modules/minimist/test/long.js +33 -0
  263. package/docs/reasoningbank/models/safla/node_modules/minimist/test/num.js +38 -0
  264. package/docs/reasoningbank/models/safla/node_modules/minimist/test/parse.js +209 -0
  265. package/docs/reasoningbank/models/safla/node_modules/minimist/test/parse_modified.js +11 -0
  266. package/docs/reasoningbank/models/safla/node_modules/minimist/test/proto.js +64 -0
  267. package/docs/reasoningbank/models/safla/node_modules/minimist/test/short.js +69 -0
  268. package/docs/reasoningbank/models/safla/node_modules/minimist/test/stop_early.js +17 -0
  269. package/docs/reasoningbank/models/safla/node_modules/minimist/test/unknown.js +104 -0
  270. package/docs/reasoningbank/models/safla/node_modules/minimist/test/whitespace.js +10 -0
  271. package/docs/reasoningbank/models/safla/node_modules/mkdirp-classic/LICENSE +21 -0
  272. package/docs/reasoningbank/models/safla/node_modules/mkdirp-classic/README.md +18 -0
  273. package/docs/reasoningbank/models/safla/node_modules/mkdirp-classic/index.js +98 -0
  274. package/docs/reasoningbank/models/safla/node_modules/mkdirp-classic/package.json +18 -0
  275. package/docs/reasoningbank/models/safla/node_modules/napi-build-utils/.github/workflows/run-npm-tests.yml +31 -0
  276. package/docs/reasoningbank/models/safla/node_modules/napi-build-utils/LICENSE +21 -0
  277. package/docs/reasoningbank/models/safla/node_modules/napi-build-utils/README.md +52 -0
  278. package/docs/reasoningbank/models/safla/node_modules/napi-build-utils/index.js +214 -0
  279. package/docs/reasoningbank/models/safla/node_modules/napi-build-utils/index.md +0 -0
  280. package/docs/reasoningbank/models/safla/node_modules/napi-build-utils/package.json +42 -0
  281. package/docs/reasoningbank/models/safla/node_modules/node-abi/LICENSE +21 -0
  282. package/docs/reasoningbank/models/safla/node_modules/node-abi/README.md +54 -0
  283. package/docs/reasoningbank/models/safla/node_modules/node-abi/abi_registry.json +408 -0
  284. package/docs/reasoningbank/models/safla/node_modules/node-abi/index.js +179 -0
  285. package/docs/reasoningbank/models/safla/node_modules/node-abi/package.json +45 -0
  286. package/docs/reasoningbank/models/safla/node_modules/once/LICENSE +15 -0
  287. package/docs/reasoningbank/models/safla/node_modules/once/README.md +79 -0
  288. package/docs/reasoningbank/models/safla/node_modules/once/once.js +42 -0
  289. package/docs/reasoningbank/models/safla/node_modules/once/package.json +33 -0
  290. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/CHANGELOG.md +131 -0
  291. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/CONTRIBUTING.md +6 -0
  292. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/LICENSE +21 -0
  293. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/README.md +163 -0
  294. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/asset.js +44 -0
  295. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/bin.js +78 -0
  296. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/download.js +142 -0
  297. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/error.js +14 -0
  298. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/help.txt +16 -0
  299. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/index.js +1 -0
  300. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/log.js +33 -0
  301. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/package.json +67 -0
  302. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/proxy.js +35 -0
  303. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/rc.js +64 -0
  304. package/docs/reasoningbank/models/safla/node_modules/prebuild-install/util.js +143 -0
  305. package/docs/reasoningbank/models/safla/node_modules/pump/.github/FUNDING.yml +2 -0
  306. package/docs/reasoningbank/models/safla/node_modules/pump/.travis.yml +5 -0
  307. package/docs/reasoningbank/models/safla/node_modules/pump/LICENSE +21 -0
  308. package/docs/reasoningbank/models/safla/node_modules/pump/README.md +74 -0
  309. package/docs/reasoningbank/models/safla/node_modules/pump/SECURITY.md +5 -0
  310. package/docs/reasoningbank/models/safla/node_modules/pump/index.js +86 -0
  311. package/docs/reasoningbank/models/safla/node_modules/pump/package.json +24 -0
  312. package/docs/reasoningbank/models/safla/node_modules/pump/test-browser.js +66 -0
  313. package/docs/reasoningbank/models/safla/node_modules/pump/test-node.js +53 -0
  314. package/docs/reasoningbank/models/safla/node_modules/rc/LICENSE.APACHE2 +15 -0
  315. package/docs/reasoningbank/models/safla/node_modules/rc/LICENSE.BSD +26 -0
  316. package/docs/reasoningbank/models/safla/node_modules/rc/LICENSE.MIT +24 -0
  317. package/docs/reasoningbank/models/safla/node_modules/rc/README.md +227 -0
  318. package/docs/reasoningbank/models/safla/node_modules/rc/browser.js +7 -0
  319. package/docs/reasoningbank/models/safla/node_modules/rc/cli.js +4 -0
  320. package/docs/reasoningbank/models/safla/node_modules/rc/index.js +53 -0
  321. package/docs/reasoningbank/models/safla/node_modules/rc/lib/utils.js +104 -0
  322. package/docs/reasoningbank/models/safla/node_modules/rc/package.json +29 -0
  323. package/docs/reasoningbank/models/safla/node_modules/rc/test/ini.js +16 -0
  324. package/docs/reasoningbank/models/safla/node_modules/rc/test/nested-env-vars.js +50 -0
  325. package/docs/reasoningbank/models/safla/node_modules/rc/test/test.js +59 -0
  326. package/docs/reasoningbank/models/safla/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  327. package/docs/reasoningbank/models/safla/node_modules/readable-stream/GOVERNANCE.md +136 -0
  328. package/docs/reasoningbank/models/safla/node_modules/readable-stream/LICENSE +47 -0
  329. package/docs/reasoningbank/models/safla/node_modules/readable-stream/README.md +106 -0
  330. package/docs/reasoningbank/models/safla/node_modules/readable-stream/errors-browser.js +127 -0
  331. package/docs/reasoningbank/models/safla/node_modules/readable-stream/errors.js +116 -0
  332. package/docs/reasoningbank/models/safla/node_modules/readable-stream/experimentalWarning.js +17 -0
  333. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/_stream_duplex.js +126 -0
  334. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/_stream_passthrough.js +37 -0
  335. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/_stream_readable.js +1027 -0
  336. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/_stream_transform.js +190 -0
  337. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/_stream_writable.js +641 -0
  338. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/async_iterator.js +180 -0
  339. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/buffer_list.js +183 -0
  340. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/destroy.js +96 -0
  341. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +86 -0
  342. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -0
  343. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/from.js +52 -0
  344. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/pipeline.js +86 -0
  345. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/state.js +22 -0
  346. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  347. package/docs/reasoningbank/models/safla/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  348. package/docs/reasoningbank/models/safla/node_modules/readable-stream/package.json +68 -0
  349. package/docs/reasoningbank/models/safla/node_modules/readable-stream/readable-browser.js +9 -0
  350. package/docs/reasoningbank/models/safla/node_modules/readable-stream/readable.js +16 -0
  351. package/docs/reasoningbank/models/safla/node_modules/safe-buffer/LICENSE +21 -0
  352. package/docs/reasoningbank/models/safla/node_modules/safe-buffer/README.md +584 -0
  353. package/docs/reasoningbank/models/safla/node_modules/safe-buffer/index.d.ts +187 -0
  354. package/docs/reasoningbank/models/safla/node_modules/safe-buffer/index.js +65 -0
  355. package/docs/reasoningbank/models/safla/node_modules/safe-buffer/package.json +51 -0
  356. package/docs/reasoningbank/models/safla/node_modules/semver/LICENSE +15 -0
  357. package/docs/reasoningbank/models/safla/node_modules/semver/README.md +664 -0
  358. package/docs/reasoningbank/models/safla/node_modules/semver/bin/semver.js +191 -0
  359. package/docs/reasoningbank/models/safla/node_modules/semver/classes/comparator.js +143 -0
  360. package/docs/reasoningbank/models/safla/node_modules/semver/classes/index.js +7 -0
  361. package/docs/reasoningbank/models/safla/node_modules/semver/classes/range.js +557 -0
  362. package/docs/reasoningbank/models/safla/node_modules/semver/classes/semver.js +333 -0
  363. package/docs/reasoningbank/models/safla/node_modules/semver/functions/clean.js +8 -0
  364. package/docs/reasoningbank/models/safla/node_modules/semver/functions/cmp.js +54 -0
  365. package/docs/reasoningbank/models/safla/node_modules/semver/functions/coerce.js +62 -0
  366. package/docs/reasoningbank/models/safla/node_modules/semver/functions/compare-build.js +9 -0
  367. package/docs/reasoningbank/models/safla/node_modules/semver/functions/compare-loose.js +5 -0
  368. package/docs/reasoningbank/models/safla/node_modules/semver/functions/compare.js +7 -0
  369. package/docs/reasoningbank/models/safla/node_modules/semver/functions/diff.js +60 -0
  370. package/docs/reasoningbank/models/safla/node_modules/semver/functions/eq.js +5 -0
  371. package/docs/reasoningbank/models/safla/node_modules/semver/functions/gt.js +5 -0
  372. package/docs/reasoningbank/models/safla/node_modules/semver/functions/gte.js +5 -0
  373. package/docs/reasoningbank/models/safla/node_modules/semver/functions/inc.js +21 -0
  374. package/docs/reasoningbank/models/safla/node_modules/semver/functions/lt.js +5 -0
  375. package/docs/reasoningbank/models/safla/node_modules/semver/functions/lte.js +5 -0
  376. package/docs/reasoningbank/models/safla/node_modules/semver/functions/major.js +5 -0
  377. package/docs/reasoningbank/models/safla/node_modules/semver/functions/minor.js +5 -0
  378. package/docs/reasoningbank/models/safla/node_modules/semver/functions/neq.js +5 -0
  379. package/docs/reasoningbank/models/safla/node_modules/semver/functions/parse.js +18 -0
  380. package/docs/reasoningbank/models/safla/node_modules/semver/functions/patch.js +5 -0
  381. package/docs/reasoningbank/models/safla/node_modules/semver/functions/prerelease.js +8 -0
  382. package/docs/reasoningbank/models/safla/node_modules/semver/functions/rcompare.js +5 -0
  383. package/docs/reasoningbank/models/safla/node_modules/semver/functions/rsort.js +5 -0
  384. package/docs/reasoningbank/models/safla/node_modules/semver/functions/satisfies.js +12 -0
  385. package/docs/reasoningbank/models/safla/node_modules/semver/functions/sort.js +5 -0
  386. package/docs/reasoningbank/models/safla/node_modules/semver/functions/valid.js +8 -0
  387. package/docs/reasoningbank/models/safla/node_modules/semver/index.js +91 -0
  388. package/docs/reasoningbank/models/safla/node_modules/semver/internal/constants.js +37 -0
  389. package/docs/reasoningbank/models/safla/node_modules/semver/internal/debug.js +11 -0
  390. package/docs/reasoningbank/models/safla/node_modules/semver/internal/identifiers.js +29 -0
  391. package/docs/reasoningbank/models/safla/node_modules/semver/internal/lrucache.js +42 -0
  392. package/docs/reasoningbank/models/safla/node_modules/semver/internal/parse-options.js +17 -0
  393. package/docs/reasoningbank/models/safla/node_modules/semver/internal/re.js +223 -0
  394. package/docs/reasoningbank/models/safla/node_modules/semver/package.json +78 -0
  395. package/docs/reasoningbank/models/safla/node_modules/semver/preload.js +4 -0
  396. package/docs/reasoningbank/models/safla/node_modules/semver/range.bnf +16 -0
  397. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/gtr.js +6 -0
  398. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/intersects.js +9 -0
  399. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/ltr.js +6 -0
  400. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/max-satisfying.js +27 -0
  401. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/min-satisfying.js +26 -0
  402. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/min-version.js +63 -0
  403. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/outside.js +82 -0
  404. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/simplify.js +49 -0
  405. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/subset.js +249 -0
  406. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/to-comparators.js +10 -0
  407. package/docs/reasoningbank/models/safla/node_modules/semver/ranges/valid.js +13 -0
  408. package/docs/reasoningbank/models/safla/node_modules/simple-concat/.travis.yml +3 -0
  409. package/docs/reasoningbank/models/safla/node_modules/simple-concat/LICENSE +20 -0
  410. package/docs/reasoningbank/models/safla/node_modules/simple-concat/README.md +44 -0
  411. package/docs/reasoningbank/models/safla/node_modules/simple-concat/index.js +15 -0
  412. package/docs/reasoningbank/models/safla/node_modules/simple-concat/package.json +47 -0
  413. package/docs/reasoningbank/models/safla/node_modules/simple-concat/test/basic.js +41 -0
  414. package/docs/reasoningbank/models/safla/node_modules/simple-get/.github/dependabot.yml +15 -0
  415. package/docs/reasoningbank/models/safla/node_modules/simple-get/.github/workflows/ci.yml +23 -0
  416. package/docs/reasoningbank/models/safla/node_modules/simple-get/LICENSE +20 -0
  417. package/docs/reasoningbank/models/safla/node_modules/simple-get/README.md +333 -0
  418. package/docs/reasoningbank/models/safla/node_modules/simple-get/index.js +108 -0
  419. package/docs/reasoningbank/models/safla/node_modules/simple-get/package.json +67 -0
  420. package/docs/reasoningbank/models/safla/node_modules/string_decoder/LICENSE +48 -0
  421. package/docs/reasoningbank/models/safla/node_modules/string_decoder/README.md +47 -0
  422. package/docs/reasoningbank/models/safla/node_modules/string_decoder/lib/string_decoder.js +296 -0
  423. package/docs/reasoningbank/models/safla/node_modules/string_decoder/package.json +34 -0
  424. package/docs/reasoningbank/models/safla/node_modules/strip-json-comments/index.js +70 -0
  425. package/docs/reasoningbank/models/safla/node_modules/strip-json-comments/license +21 -0
  426. package/docs/reasoningbank/models/safla/node_modules/strip-json-comments/package.json +42 -0
  427. package/docs/reasoningbank/models/safla/node_modules/strip-json-comments/readme.md +64 -0
  428. package/docs/reasoningbank/models/safla/node_modules/tar-fs/.travis.yml +6 -0
  429. package/docs/reasoningbank/models/safla/node_modules/tar-fs/LICENSE +21 -0
  430. package/docs/reasoningbank/models/safla/node_modules/tar-fs/README.md +165 -0
  431. package/docs/reasoningbank/models/safla/node_modules/tar-fs/index.js +363 -0
  432. package/docs/reasoningbank/models/safla/node_modules/tar-fs/package.json +41 -0
  433. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -0
  434. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -0
  435. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/d/file1 +0 -0
  436. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/d/file2 +0 -0
  437. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/d/sub-dir/file5 +0 -0
  438. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/d/sub-files/file3 +0 -0
  439. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/d/sub-files/file4 +0 -0
  440. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/e/directory/.ignore +0 -0
  441. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/e/file +0 -0
  442. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/fixtures/invalid.tar +0 -0
  443. package/docs/reasoningbank/models/safla/node_modules/tar-fs/test/index.js +346 -0
  444. package/docs/reasoningbank/models/safla/node_modules/tar-stream/LICENSE +21 -0
  445. package/docs/reasoningbank/models/safla/node_modules/tar-stream/README.md +168 -0
  446. package/docs/reasoningbank/models/safla/node_modules/tar-stream/extract.js +257 -0
  447. package/docs/reasoningbank/models/safla/node_modules/tar-stream/headers.js +295 -0
  448. package/docs/reasoningbank/models/safla/node_modules/tar-stream/index.js +2 -0
  449. package/docs/reasoningbank/models/safla/node_modules/tar-stream/pack.js +255 -0
  450. package/docs/reasoningbank/models/safla/node_modules/tar-stream/package.json +58 -0
  451. package/docs/reasoningbank/models/safla/node_modules/tar-stream/sandbox.js +11 -0
  452. package/docs/reasoningbank/models/safla/node_modules/tunnel-agent/LICENSE +55 -0
  453. package/docs/reasoningbank/models/safla/node_modules/tunnel-agent/README.md +4 -0
  454. package/docs/reasoningbank/models/safla/node_modules/tunnel-agent/index.js +244 -0
  455. package/docs/reasoningbank/models/safla/node_modules/tunnel-agent/package.json +22 -0
  456. package/docs/reasoningbank/models/safla/node_modules/util-deprecate/History.md +16 -0
  457. package/docs/reasoningbank/models/safla/node_modules/util-deprecate/LICENSE +24 -0
  458. package/docs/reasoningbank/models/safla/node_modules/util-deprecate/README.md +53 -0
  459. package/docs/reasoningbank/models/safla/node_modules/util-deprecate/browser.js +67 -0
  460. package/docs/reasoningbank/models/safla/node_modules/util-deprecate/node.js +6 -0
  461. package/docs/reasoningbank/models/safla/node_modules/util-deprecate/package.json +27 -0
  462. package/docs/reasoningbank/models/safla/node_modules/wrappy/LICENSE +15 -0
  463. package/docs/reasoningbank/models/safla/node_modules/wrappy/README.md +36 -0
  464. package/docs/reasoningbank/models/safla/node_modules/wrappy/package.json +29 -0
  465. package/docs/reasoningbank/models/safla/node_modules/wrappy/wrappy.js +33 -0
  466. package/docs/reasoningbank/models/safla/package-lock.json +463 -0
  467. package/docs/reasoningbank/models/safla/package.json +14 -0
  468. package/docs/reasoningbank/models/safla/train-safla.js +524 -0
  469. package/docs/reasoningbank/models/safla/training.log +64 -0
  470. package/docs/reasoningbank/models/safla/validate-safla.js +449 -0
  471. package/docs/reasoningbank/models/safla/validation-report.md +115 -0
  472. package/docs/reasoningbank/models/safla/validation-results.json +189 -0
  473. package/docs/reasoningbank/tutorial-advanced.md +869 -0
  474. package/docs/reasoningbank/tutorial-basic.md +626 -0
  475. package/docs/skills/skills-tutorial.md +2910 -0
  476. package/package.json +4 -3
  477. package/src/cli/simple-commands/init/index.js +15 -0
  478. package/src/cli/simple-commands/init/skills-copier.js +197 -0
  479. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  480. package/.claude/commands/analysis/bottleneck-detect.md +0 -162
  481. package/.claude/commands/analysis/performance-bottlenecks.md +0 -59
  482. package/.claude/commands/analysis/performance-report.md +0 -25
  483. package/.claude/commands/flow-nexus/app-store.md +0 -124
  484. package/.claude/commands/flow-nexus/challenges.md +0 -120
  485. package/.claude/commands/flow-nexus/login-registration.md +0 -65
  486. package/.claude/commands/flow-nexus/neural-network.md +0 -134
  487. package/.claude/commands/flow-nexus/payments.md +0 -116
  488. package/.claude/commands/flow-nexus/sandbox.md +0 -83
  489. package/.claude/commands/flow-nexus/swarm.md +0 -87
  490. package/.claude/commands/flow-nexus/user-tools.md +0 -152
  491. package/.claude/commands/flow-nexus/workflow.md +0 -115
  492. package/.claude/commands/github/code-review-swarm.md +0 -514
  493. package/.claude/commands/github/github-modes.md +0 -147
  494. package/.claude/commands/github/issue-tracker.md +0 -292
  495. package/.claude/commands/github/multi-repo-swarm.md +0 -519
  496. package/.claude/commands/github/pr-manager.md +0 -170
  497. package/.claude/commands/github/project-board-sync.md +0 -471
  498. package/.claude/commands/github/release-manager.md +0 -338
  499. package/.claude/commands/github/release-swarm.md +0 -544
  500. package/.claude/commands/github/repo-architect.md +0 -367
  501. package/.claude/commands/github/swarm-issue.md +0 -482
  502. package/.claude/commands/github/swarm-pr.md +0 -285
  503. package/.claude/commands/github/sync-coordinator.md +0 -301
  504. package/.claude/commands/github/workflow-automation.md +0 -442
  505. package/.claude/commands/hive-mind/hive-mind-resume.md +0 -8
  506. package/.claude/commands/hive-mind/hive-mind-sessions.md +0 -8
  507. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -8
  508. package/.claude/commands/hive-mind/hive-mind-wizard.md +0 -8
  509. package/.claude/commands/hive-mind/hive-mind.md +0 -27
  510. package/.claude/commands/hooks/overview.md +0 -132
  511. package/.claude/commands/memory/usage.md +0 -46
  512. package/.claude/commands/pair/commands.md +0 -546
  513. package/.claude/commands/pair/config.md +0 -510
  514. package/.claude/commands/pair/examples.md +0 -512
  515. package/.claude/commands/pair/modes.md +0 -348
  516. package/.claude/commands/pair/session.md +0 -407
  517. package/.claude/commands/pair/start.md +0 -209
  518. package/.claude/commands/sparc/orchestrator.md +0 -132
  519. package/.claude/commands/sparc/sparc-modes.md +0 -174
  520. package/.claude/commands/stream-chain/pipeline.md +0 -121
  521. package/.claude/commands/stream-chain/run.md +0 -70
  522. package/.claude/commands/swarm/analysis.md +0 -95
  523. package/.claude/commands/swarm/development.md +0 -96
  524. package/.claude/commands/swarm/examples.md +0 -168
  525. package/.claude/commands/swarm/maintenance.md +0 -102
  526. package/.claude/commands/swarm/optimization.md +0 -117
  527. package/.claude/commands/swarm/research.md +0 -136
  528. package/.claude/commands/swarm/swarm-analysis.md +0 -8
  529. package/.claude/commands/swarm/swarm-spawn.md +0 -19
  530. package/.claude/commands/swarm/swarm-strategies.md +0 -8
  531. package/.claude/commands/swarm/testing.md +0 -131
  532. package/.claude/commands/truth/start.md +0 -143
  533. package/.claude/commands/verify/check.md +0 -50
  534. package/.claude/commands/verify/start.md +0 -128
  535. /package/{.claude/agents → docs}/reasoning/README.md +0 -0
  536. /package/{.claude/agents → docs}/reasoning/example-reasoning-agent-template.md +0 -0
@@ -0,0 +1,84 @@
1
+ 'use strict'
2
+
3
+ const DuplexStream = require('readable-stream').Duplex
4
+ const inherits = require('inherits')
5
+ const BufferList = require('./BufferList')
6
+
7
+ function BufferListStream (callback) {
8
+ if (!(this instanceof BufferListStream)) {
9
+ return new BufferListStream(callback)
10
+ }
11
+
12
+ if (typeof callback === 'function') {
13
+ this._callback = callback
14
+
15
+ const piper = function piper (err) {
16
+ if (this._callback) {
17
+ this._callback(err)
18
+ this._callback = null
19
+ }
20
+ }.bind(this)
21
+
22
+ this.on('pipe', function onPipe (src) {
23
+ src.on('error', piper)
24
+ })
25
+ this.on('unpipe', function onUnpipe (src) {
26
+ src.removeListener('error', piper)
27
+ })
28
+
29
+ callback = null
30
+ }
31
+
32
+ BufferList._init.call(this, callback)
33
+ DuplexStream.call(this)
34
+ }
35
+
36
+ inherits(BufferListStream, DuplexStream)
37
+ Object.assign(BufferListStream.prototype, BufferList.prototype)
38
+
39
+ BufferListStream.prototype._new = function _new (callback) {
40
+ return new BufferListStream(callback)
41
+ }
42
+
43
+ BufferListStream.prototype._write = function _write (buf, encoding, callback) {
44
+ this._appendBuffer(buf)
45
+
46
+ if (typeof callback === 'function') {
47
+ callback()
48
+ }
49
+ }
50
+
51
+ BufferListStream.prototype._read = function _read (size) {
52
+ if (!this.length) {
53
+ return this.push(null)
54
+ }
55
+
56
+ size = Math.min(size, this.length)
57
+ this.push(this.slice(0, size))
58
+ this.consume(size)
59
+ }
60
+
61
+ BufferListStream.prototype.end = function end (chunk) {
62
+ DuplexStream.prototype.end.call(this, chunk)
63
+
64
+ if (this._callback) {
65
+ this._callback(null, this.slice())
66
+ this._callback = null
67
+ }
68
+ }
69
+
70
+ BufferListStream.prototype._destroy = function _destroy (err, cb) {
71
+ this._bufs.length = 0
72
+ this.length = 0
73
+ cb(err)
74
+ }
75
+
76
+ BufferListStream.prototype._isBufferList = function _isBufferList (b) {
77
+ return b instanceof BufferListStream || b instanceof BufferList || BufferListStream.isBufferList(b)
78
+ }
79
+
80
+ BufferListStream.isBufferList = BufferList.isBufferList
81
+
82
+ module.exports = BufferListStream
83
+ module.exports.BufferListStream = BufferListStream
84
+ module.exports.BufferList = BufferList
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "bl",
3
+ "version": "4.1.0",
4
+ "description": "Buffer List: collect buffers and access with a standard readable Buffer interface, streamable too!",
5
+ "license": "MIT",
6
+ "main": "bl.js",
7
+ "scripts": {
8
+ "lint": "standard *.js test/*.js",
9
+ "test": "npm run lint && node test/test.js | faucet"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/rvagg/bl.git"
14
+ },
15
+ "homepage": "https://github.com/rvagg/bl",
16
+ "authors": [
17
+ "Rod Vagg <rod@vagg.org> (https://github.com/rvagg)",
18
+ "Matteo Collina <matteo.collina@gmail.com> (https://github.com/mcollina)",
19
+ "Jarett Cruger <jcrugzz@gmail.com> (https://github.com/jcrugzz)"
20
+ ],
21
+ "keywords": [
22
+ "buffer",
23
+ "buffers",
24
+ "stream",
25
+ "awesomesauce"
26
+ ],
27
+ "dependencies": {
28
+ "buffer": "^5.5.0",
29
+ "inherits": "^2.0.4",
30
+ "readable-stream": "^3.4.0"
31
+ },
32
+ "devDependencies": {
33
+ "faucet": "~0.0.1",
34
+ "standard": "^14.3.0",
35
+ "tape": "^4.11.0"
36
+ }
37
+ }
@@ -0,0 +1,21 @@
1
+ 'use strict'
2
+
3
+ const tape = require('tape')
4
+ const { BufferList, BufferListStream } = require('../')
5
+ const { Buffer } = require('buffer')
6
+
7
+ tape('convert from BufferList to BufferListStream', (t) => {
8
+ const data = Buffer.from(`TEST-${Date.now()}`)
9
+ const bl = new BufferList(data)
10
+ const bls = new BufferListStream(bl)
11
+ t.ok(bl.slice().equals(bls.slice()))
12
+ t.end()
13
+ })
14
+
15
+ tape('convert from BufferListStream to BufferList', (t) => {
16
+ const data = Buffer.from(`TEST-${Date.now()}`)
17
+ const bls = new BufferListStream(data)
18
+ const bl = new BufferList(bls)
19
+ t.ok(bl.slice().equals(bls.slice()))
20
+ t.end()
21
+ })
@@ -0,0 +1,492 @@
1
+ 'use strict'
2
+
3
+ const tape = require('tape')
4
+ const BufferList = require('../')
5
+ const { Buffer } = require('buffer')
6
+
7
+ tape('indexOf single byte needle', (t) => {
8
+ const bl = new BufferList(['abcdefg', 'abcdefg', '12345'])
9
+
10
+ t.equal(bl.indexOf('e'), 4)
11
+ t.equal(bl.indexOf('e', 5), 11)
12
+ t.equal(bl.indexOf('e', 12), -1)
13
+ t.equal(bl.indexOf('5'), 18)
14
+
15
+ t.end()
16
+ })
17
+
18
+ tape('indexOf multiple byte needle', (t) => {
19
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
20
+
21
+ t.equal(bl.indexOf('ef'), 4)
22
+ t.equal(bl.indexOf('ef', 5), 11)
23
+
24
+ t.end()
25
+ })
26
+
27
+ tape('indexOf multiple byte needles across buffer boundaries', (t) => {
28
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
29
+
30
+ t.equal(bl.indexOf('fgabc'), 5)
31
+
32
+ t.end()
33
+ })
34
+
35
+ tape('indexOf takes a Uint8Array search', (t) => {
36
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
37
+ const search = new Uint8Array([102, 103, 97, 98, 99]) // fgabc
38
+
39
+ t.equal(bl.indexOf(search), 5)
40
+
41
+ t.end()
42
+ })
43
+
44
+ tape('indexOf takes a buffer list search', (t) => {
45
+ const bl = new BufferList(['abcdefg', 'abcdefg'])
46
+ const search = new BufferList('fgabc')
47
+
48
+ t.equal(bl.indexOf(search), 5)
49
+
50
+ t.end()
51
+ })
52
+
53
+ tape('indexOf a zero byte needle', (t) => {
54
+ const b = new BufferList('abcdef')
55
+ const bufEmpty = Buffer.from('')
56
+
57
+ t.equal(b.indexOf(''), 0)
58
+ t.equal(b.indexOf('', 1), 1)
59
+ t.equal(b.indexOf('', b.length + 1), b.length)
60
+ t.equal(b.indexOf('', Infinity), b.length)
61
+ t.equal(b.indexOf(bufEmpty), 0)
62
+ t.equal(b.indexOf(bufEmpty, 1), 1)
63
+ t.equal(b.indexOf(bufEmpty, b.length + 1), b.length)
64
+ t.equal(b.indexOf(bufEmpty, Infinity), b.length)
65
+
66
+ t.end()
67
+ })
68
+
69
+ tape('indexOf buffers smaller and larger than the needle', (t) => {
70
+ const bl = new BufferList(['abcdefg', 'a', 'bcdefg', 'a', 'bcfgab'])
71
+
72
+ t.equal(bl.indexOf('fgabc'), 5)
73
+ t.equal(bl.indexOf('fgabc', 6), 12)
74
+ t.equal(bl.indexOf('fgabc', 13), -1)
75
+
76
+ t.end()
77
+ })
78
+
79
+ // only present in node 6+
80
+ ;(process.version.substr(1).split('.')[0] >= 6) && tape('indexOf latin1 and binary encoding', (t) => {
81
+ const b = new BufferList('abcdef')
82
+
83
+ // test latin1 encoding
84
+ t.equal(
85
+ new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
86
+ .indexOf('d', 0, 'latin1'),
87
+ 3
88
+ )
89
+ t.equal(
90
+ new BufferList(Buffer.from(b.toString('latin1'), 'latin1'))
91
+ .indexOf(Buffer.from('d', 'latin1'), 0, 'latin1'),
92
+ 3
93
+ )
94
+ t.equal(
95
+ new BufferList(Buffer.from('aa\u00e8aa', 'latin1'))
96
+ .indexOf('\u00e8', 'latin1'),
97
+ 2
98
+ )
99
+ t.equal(
100
+ new BufferList(Buffer.from('\u00e8', 'latin1'))
101
+ .indexOf('\u00e8', 'latin1'),
102
+ 0
103
+ )
104
+ t.equal(
105
+ new BufferList(Buffer.from('\u00e8', 'latin1'))
106
+ .indexOf(Buffer.from('\u00e8', 'latin1'), 'latin1'),
107
+ 0
108
+ )
109
+
110
+ // test binary encoding
111
+ t.equal(
112
+ new BufferList(Buffer.from(b.toString('binary'), 'binary'))
113
+ .indexOf('d', 0, 'binary'),
114
+ 3
115
+ )
116
+ t.equal(
117
+ new BufferList(Buffer.from(b.toString('binary'), 'binary'))
118
+ .indexOf(Buffer.from('d', 'binary'), 0, 'binary'),
119
+ 3
120
+ )
121
+ t.equal(
122
+ new BufferList(Buffer.from('aa\u00e8aa', 'binary'))
123
+ .indexOf('\u00e8', 'binary'),
124
+ 2
125
+ )
126
+ t.equal(
127
+ new BufferList(Buffer.from('\u00e8', 'binary'))
128
+ .indexOf('\u00e8', 'binary'),
129
+ 0
130
+ )
131
+ t.equal(
132
+ new BufferList(Buffer.from('\u00e8', 'binary'))
133
+ .indexOf(Buffer.from('\u00e8', 'binary'), 'binary'),
134
+ 0
135
+ )
136
+
137
+ t.end()
138
+ })
139
+
140
+ tape('indexOf the entire nodejs10 buffer test suite', (t) => {
141
+ const b = new BufferList('abcdef')
142
+ const bufA = Buffer.from('a')
143
+ const bufBc = Buffer.from('bc')
144
+ const bufF = Buffer.from('f')
145
+ const bufZ = Buffer.from('z')
146
+
147
+ const stringComparison = 'abcdef'
148
+
149
+ t.equal(b.indexOf('a'), 0)
150
+ t.equal(b.indexOf('a', 1), -1)
151
+ t.equal(b.indexOf('a', -1), -1)
152
+ t.equal(b.indexOf('a', -4), -1)
153
+ t.equal(b.indexOf('a', -b.length), 0)
154
+ t.equal(b.indexOf('a', NaN), 0)
155
+ t.equal(b.indexOf('a', -Infinity), 0)
156
+ t.equal(b.indexOf('a', Infinity), -1)
157
+ t.equal(b.indexOf('bc'), 1)
158
+ t.equal(b.indexOf('bc', 2), -1)
159
+ t.equal(b.indexOf('bc', -1), -1)
160
+ t.equal(b.indexOf('bc', -3), -1)
161
+ t.equal(b.indexOf('bc', -5), 1)
162
+ t.equal(b.indexOf('bc', NaN), 1)
163
+ t.equal(b.indexOf('bc', -Infinity), 1)
164
+ t.equal(b.indexOf('bc', Infinity), -1)
165
+ t.equal(b.indexOf('f'), b.length - 1)
166
+ t.equal(b.indexOf('z'), -1)
167
+
168
+ // empty search tests
169
+ t.equal(b.indexOf(bufA), 0)
170
+ t.equal(b.indexOf(bufA, 1), -1)
171
+ t.equal(b.indexOf(bufA, -1), -1)
172
+ t.equal(b.indexOf(bufA, -4), -1)
173
+ t.equal(b.indexOf(bufA, -b.length), 0)
174
+ t.equal(b.indexOf(bufA, NaN), 0)
175
+ t.equal(b.indexOf(bufA, -Infinity), 0)
176
+ t.equal(b.indexOf(bufA, Infinity), -1)
177
+ t.equal(b.indexOf(bufBc), 1)
178
+ t.equal(b.indexOf(bufBc, 2), -1)
179
+ t.equal(b.indexOf(bufBc, -1), -1)
180
+ t.equal(b.indexOf(bufBc, -3), -1)
181
+ t.equal(b.indexOf(bufBc, -5), 1)
182
+ t.equal(b.indexOf(bufBc, NaN), 1)
183
+ t.equal(b.indexOf(bufBc, -Infinity), 1)
184
+ t.equal(b.indexOf(bufBc, Infinity), -1)
185
+ t.equal(b.indexOf(bufF), b.length - 1)
186
+ t.equal(b.indexOf(bufZ), -1)
187
+ t.equal(b.indexOf(0x61), 0)
188
+ t.equal(b.indexOf(0x61, 1), -1)
189
+ t.equal(b.indexOf(0x61, -1), -1)
190
+ t.equal(b.indexOf(0x61, -4), -1)
191
+ t.equal(b.indexOf(0x61, -b.length), 0)
192
+ t.equal(b.indexOf(0x61, NaN), 0)
193
+ t.equal(b.indexOf(0x61, -Infinity), 0)
194
+ t.equal(b.indexOf(0x61, Infinity), -1)
195
+ t.equal(b.indexOf(0x0), -1)
196
+
197
+ // test offsets
198
+ t.equal(b.indexOf('d', 2), 3)
199
+ t.equal(b.indexOf('f', 5), 5)
200
+ t.equal(b.indexOf('f', -1), 5)
201
+ t.equal(b.indexOf('f', 6), -1)
202
+
203
+ t.equal(b.indexOf(Buffer.from('d'), 2), 3)
204
+ t.equal(b.indexOf(Buffer.from('f'), 5), 5)
205
+ t.equal(b.indexOf(Buffer.from('f'), -1), 5)
206
+ t.equal(b.indexOf(Buffer.from('f'), 6), -1)
207
+
208
+ t.equal(Buffer.from('ff').indexOf(Buffer.from('f'), 1, 'ucs2'), -1)
209
+
210
+ // test invalid and uppercase encoding
211
+ t.equal(b.indexOf('b', 'utf8'), 1)
212
+ t.equal(b.indexOf('b', 'UTF8'), 1)
213
+ t.equal(b.indexOf('62', 'HEX'), 1)
214
+ t.throws(() => b.indexOf('bad', 'enc'), TypeError)
215
+
216
+ // test hex encoding
217
+ t.equal(
218
+ Buffer.from(b.toString('hex'), 'hex')
219
+ .indexOf('64', 0, 'hex'),
220
+ 3
221
+ )
222
+ t.equal(
223
+ Buffer.from(b.toString('hex'), 'hex')
224
+ .indexOf(Buffer.from('64', 'hex'), 0, 'hex'),
225
+ 3
226
+ )
227
+
228
+ // test base64 encoding
229
+ t.equal(
230
+ Buffer.from(b.toString('base64'), 'base64')
231
+ .indexOf('ZA==', 0, 'base64'),
232
+ 3
233
+ )
234
+ t.equal(
235
+ Buffer.from(b.toString('base64'), 'base64')
236
+ .indexOf(Buffer.from('ZA==', 'base64'), 0, 'base64'),
237
+ 3
238
+ )
239
+
240
+ // test ascii encoding
241
+ t.equal(
242
+ Buffer.from(b.toString('ascii'), 'ascii')
243
+ .indexOf('d', 0, 'ascii'),
244
+ 3
245
+ )
246
+ t.equal(
247
+ Buffer.from(b.toString('ascii'), 'ascii')
248
+ .indexOf(Buffer.from('d', 'ascii'), 0, 'ascii'),
249
+ 3
250
+ )
251
+
252
+ // test optional offset with passed encoding
253
+ t.equal(Buffer.from('aaaa0').indexOf('30', 'hex'), 4)
254
+ t.equal(Buffer.from('aaaa00a').indexOf('3030', 'hex'), 4)
255
+
256
+ {
257
+ // test usc2 encoding
258
+ const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
259
+
260
+ t.equal(8, twoByteString.indexOf('\u0395', 4, 'ucs2'))
261
+ t.equal(6, twoByteString.indexOf('\u03a3', -4, 'ucs2'))
262
+ t.equal(4, twoByteString.indexOf('\u03a3', -6, 'ucs2'))
263
+ t.equal(4, twoByteString.indexOf(
264
+ Buffer.from('\u03a3', 'ucs2'), -6, 'ucs2'))
265
+ t.equal(-1, twoByteString.indexOf('\u03a3', -2, 'ucs2'))
266
+ }
267
+
268
+ const mixedByteStringUcs2 =
269
+ Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395', 'ucs2')
270
+
271
+ t.equal(6, mixedByteStringUcs2.indexOf('bc', 0, 'ucs2'))
272
+ t.equal(10, mixedByteStringUcs2.indexOf('\u03a3', 0, 'ucs2'))
273
+ t.equal(-1, mixedByteStringUcs2.indexOf('\u0396', 0, 'ucs2'))
274
+
275
+ t.equal(
276
+ 6, mixedByteStringUcs2.indexOf(Buffer.from('bc', 'ucs2'), 0, 'ucs2'))
277
+ t.equal(
278
+ 10, mixedByteStringUcs2.indexOf(Buffer.from('\u03a3', 'ucs2'), 0, 'ucs2'))
279
+ t.equal(
280
+ -1, mixedByteStringUcs2.indexOf(Buffer.from('\u0396', 'ucs2'), 0, 'ucs2'))
281
+
282
+ {
283
+ const twoByteString = Buffer.from('\u039a\u0391\u03a3\u03a3\u0395', 'ucs2')
284
+
285
+ // Test single char pattern
286
+ t.equal(0, twoByteString.indexOf('\u039a', 0, 'ucs2'))
287
+ let index = twoByteString.indexOf('\u0391', 0, 'ucs2')
288
+ t.equal(2, index, `Alpha - at index ${index}`)
289
+ index = twoByteString.indexOf('\u03a3', 0, 'ucs2')
290
+ t.equal(4, index, `First Sigma - at index ${index}`)
291
+ index = twoByteString.indexOf('\u03a3', 6, 'ucs2')
292
+ t.equal(6, index, `Second Sigma - at index ${index}`)
293
+ index = twoByteString.indexOf('\u0395', 0, 'ucs2')
294
+ t.equal(8, index, `Epsilon - at index ${index}`)
295
+ index = twoByteString.indexOf('\u0392', 0, 'ucs2')
296
+ t.equal(-1, index, `Not beta - at index ${index}`)
297
+
298
+ // Test multi-char pattern
299
+ index = twoByteString.indexOf('\u039a\u0391', 0, 'ucs2')
300
+ t.equal(0, index, `Lambda Alpha - at index ${index}`)
301
+ index = twoByteString.indexOf('\u0391\u03a3', 0, 'ucs2')
302
+ t.equal(2, index, `Alpha Sigma - at index ${index}`)
303
+ index = twoByteString.indexOf('\u03a3\u03a3', 0, 'ucs2')
304
+ t.equal(4, index, `Sigma Sigma - at index ${index}`)
305
+ index = twoByteString.indexOf('\u03a3\u0395', 0, 'ucs2')
306
+ t.equal(6, index, `Sigma Epsilon - at index ${index}`)
307
+ }
308
+
309
+ const mixedByteStringUtf8 = Buffer.from('\u039a\u0391abc\u03a3\u03a3\u0395')
310
+
311
+ t.equal(5, mixedByteStringUtf8.indexOf('bc'))
312
+ t.equal(5, mixedByteStringUtf8.indexOf('bc', 5))
313
+ t.equal(5, mixedByteStringUtf8.indexOf('bc', -8))
314
+ t.equal(7, mixedByteStringUtf8.indexOf('\u03a3'))
315
+ t.equal(-1, mixedByteStringUtf8.indexOf('\u0396'))
316
+
317
+ // Test complex string indexOf algorithms. Only trigger for long strings.
318
+ // Long string that isn't a simple repeat of a shorter string.
319
+ let longString = 'A'
320
+ for (let i = 66; i < 76; i++) { // from 'B' to 'K'
321
+ longString = longString + String.fromCharCode(i) + longString
322
+ }
323
+
324
+ const longBufferString = Buffer.from(longString)
325
+
326
+ // pattern of 15 chars, repeated every 16 chars in long
327
+ let pattern = 'ABACABADABACABA'
328
+ for (let i = 0; i < longBufferString.length - pattern.length; i += 7) {
329
+ const index = longBufferString.indexOf(pattern, i)
330
+ t.equal((i + 15) & ~0xf, index,
331
+ `Long ABACABA...-string at index ${i}`)
332
+ }
333
+
334
+ let index = longBufferString.indexOf('AJABACA')
335
+ t.equal(510, index, `Long AJABACA, First J - at index ${index}`)
336
+ index = longBufferString.indexOf('AJABACA', 511)
337
+ t.equal(1534, index, `Long AJABACA, Second J - at index ${index}`)
338
+
339
+ pattern = 'JABACABADABACABA'
340
+ index = longBufferString.indexOf(pattern)
341
+ t.equal(511, index, `Long JABACABA..., First J - at index ${index}`)
342
+ index = longBufferString.indexOf(pattern, 512)
343
+ t.equal(
344
+ 1535, index, `Long JABACABA..., Second J - at index ${index}`)
345
+
346
+ // Search for a non-ASCII string in a pure ASCII string.
347
+ const asciiString = Buffer.from(
348
+ 'somethingnotatallsinisterwhichalsoworks')
349
+ t.equal(-1, asciiString.indexOf('\x2061'))
350
+ t.equal(3, asciiString.indexOf('eth', 0))
351
+
352
+ // Search in string containing many non-ASCII chars.
353
+ const allCodePoints = []
354
+ for (let i = 0; i < 65536; i++) {
355
+ allCodePoints[i] = i
356
+ }
357
+
358
+ const allCharsString = String.fromCharCode.apply(String, allCodePoints)
359
+ const allCharsBufferUtf8 = Buffer.from(allCharsString)
360
+ const allCharsBufferUcs2 = Buffer.from(allCharsString, 'ucs2')
361
+
362
+ // Search for string long enough to trigger complex search with ASCII pattern
363
+ // and UC16 subject.
364
+ t.equal(-1, allCharsBufferUtf8.indexOf('notfound'))
365
+ t.equal(-1, allCharsBufferUcs2.indexOf('notfound'))
366
+
367
+ // Needle is longer than haystack, but only because it's encoded as UTF-16
368
+ t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'ucs2'), -1)
369
+
370
+ t.equal(Buffer.from('aaaa').indexOf('a'.repeat(4), 'utf8'), 0)
371
+ t.equal(Buffer.from('aaaa').indexOf('你好', 'ucs2'), -1)
372
+
373
+ // Haystack has odd length, but the needle is UCS2.
374
+ t.equal(Buffer.from('aaaaa').indexOf('b', 'ucs2'), -1)
375
+
376
+ {
377
+ // Find substrings in Utf8.
378
+ const lengths = [1, 3, 15] // Single char, simple and complex.
379
+ const indices = [0x5, 0x60, 0x400, 0x680, 0x7ee, 0xFF02, 0x16610, 0x2f77b]
380
+ for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
381
+ for (let i = 0; i < indices.length; i++) {
382
+ const index = indices[i]
383
+ let length = lengths[lengthIndex]
384
+
385
+ if (index + length > 0x7F) {
386
+ length = 2 * length
387
+ }
388
+
389
+ if (index + length > 0x7FF) {
390
+ length = 3 * length
391
+ }
392
+
393
+ if (index + length > 0xFFFF) {
394
+ length = 4 * length
395
+ }
396
+
397
+ const patternBufferUtf8 = allCharsBufferUtf8.slice(index, index + length)
398
+ t.equal(index, allCharsBufferUtf8.indexOf(patternBufferUtf8))
399
+
400
+ const patternStringUtf8 = patternBufferUtf8.toString()
401
+ t.equal(index, allCharsBufferUtf8.indexOf(patternStringUtf8))
402
+ }
403
+ }
404
+ }
405
+
406
+ {
407
+ // Find substrings in Usc2.
408
+ const lengths = [2, 4, 16] // Single char, simple and complex.
409
+ const indices = [0x5, 0x65, 0x105, 0x205, 0x285, 0x2005, 0x2085, 0xfff0]
410
+
411
+ for (let lengthIndex = 0; lengthIndex < lengths.length; lengthIndex++) {
412
+ for (let i = 0; i < indices.length; i++) {
413
+ const index = indices[i] * 2
414
+ const length = lengths[lengthIndex]
415
+
416
+ const patternBufferUcs2 =
417
+ allCharsBufferUcs2.slice(index, index + length)
418
+ t.equal(
419
+ index, allCharsBufferUcs2.indexOf(patternBufferUcs2, 0, 'ucs2'))
420
+
421
+ const patternStringUcs2 = patternBufferUcs2.toString('ucs2')
422
+ t.equal(
423
+ index, allCharsBufferUcs2.indexOf(patternStringUcs2, 0, 'ucs2'))
424
+ }
425
+ }
426
+ }
427
+
428
+ [
429
+ () => {},
430
+ {},
431
+ []
432
+ ].forEach((val) => {
433
+ t.throws(() => b.indexOf(val), TypeError, `"${JSON.stringify(val)}" should throw`)
434
+ })
435
+
436
+ // Test weird offset arguments.
437
+ // The following offsets coerce to NaN or 0, searching the whole Buffer
438
+ t.equal(b.indexOf('b', undefined), 1)
439
+ t.equal(b.indexOf('b', {}), 1)
440
+ t.equal(b.indexOf('b', 0), 1)
441
+ t.equal(b.indexOf('b', null), 1)
442
+ t.equal(b.indexOf('b', []), 1)
443
+
444
+ // The following offset coerces to 2, in other words +[2] === 2
445
+ t.equal(b.indexOf('b', [2]), -1)
446
+
447
+ // Behavior should match String.indexOf()
448
+ t.equal(
449
+ b.indexOf('b', undefined),
450
+ stringComparison.indexOf('b', undefined))
451
+ t.equal(
452
+ b.indexOf('b', {}),
453
+ stringComparison.indexOf('b', {}))
454
+ t.equal(
455
+ b.indexOf('b', 0),
456
+ stringComparison.indexOf('b', 0))
457
+ t.equal(
458
+ b.indexOf('b', null),
459
+ stringComparison.indexOf('b', null))
460
+ t.equal(
461
+ b.indexOf('b', []),
462
+ stringComparison.indexOf('b', []))
463
+ t.equal(
464
+ b.indexOf('b', [2]),
465
+ stringComparison.indexOf('b', [2]))
466
+
467
+ // test truncation of Number arguments to uint8
468
+ {
469
+ const buf = Buffer.from('this is a test')
470
+
471
+ t.equal(buf.indexOf(0x6973), 3)
472
+ t.equal(buf.indexOf(0x697320), 4)
473
+ t.equal(buf.indexOf(0x69732069), 2)
474
+ t.equal(buf.indexOf(0x697374657374), 0)
475
+ t.equal(buf.indexOf(0x69737374), 0)
476
+ t.equal(buf.indexOf(0x69737465), 11)
477
+ t.equal(buf.indexOf(0x69737465), 11)
478
+ t.equal(buf.indexOf(-140), 0)
479
+ t.equal(buf.indexOf(-152), 1)
480
+ t.equal(buf.indexOf(0xff), -1)
481
+ t.equal(buf.indexOf(0xffff), -1)
482
+ }
483
+
484
+ // Test that Uint8Array arguments are okay.
485
+ {
486
+ const needle = new Uint8Array([0x66, 0x6f, 0x6f])
487
+ const haystack = new BufferList(Buffer.from('a foo b foo'))
488
+ t.equal(haystack.indexOf(needle), 2)
489
+ }
490
+
491
+ t.end()
492
+ })
@@ -0,0 +1,32 @@
1
+ 'use strict'
2
+
3
+ const tape = require('tape')
4
+ const { BufferList, BufferListStream } = require('../')
5
+ const { Buffer } = require('buffer')
6
+
7
+ tape('isBufferList positives', (t) => {
8
+ t.ok(BufferList.isBufferList(new BufferList()))
9
+ t.ok(BufferList.isBufferList(new BufferListStream()))
10
+
11
+ t.end()
12
+ })
13
+
14
+ tape('isBufferList negatives', (t) => {
15
+ const types = [
16
+ null,
17
+ undefined,
18
+ NaN,
19
+ true,
20
+ false,
21
+ {},
22
+ [],
23
+ Buffer.alloc(0),
24
+ [Buffer.alloc(0)]
25
+ ]
26
+
27
+ for (const obj of types) {
28
+ t.notOk(BufferList.isBufferList(obj))
29
+ }
30
+
31
+ t.end()
32
+ })