strray-ai 1.13.5 → 1.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (600) hide show
  1. package/.opencode/AGENTS-consumer.md +13 -11
  2. package/.opencode/codex.codex +1 -1
  3. package/.opencode/enforcer-config.json +2 -2
  4. package/.opencode/hooks/post-commit +59 -3
  5. package/.opencode/hooks/post-commit.backup +155 -112
  6. package/.opencode/hooks/post-push +59 -3
  7. package/.opencode/hooks/post-push.backup +47 -64
  8. package/.opencode/package.json +1 -1
  9. package/.opencode/plugins/strray-codex-injection.js +95 -103
  10. package/.opencode/strray/agents_template.md +14 -10
  11. package/.opencode/strray/codex.json +1 -1
  12. package/.opencode/strray/config.json +1 -1
  13. package/.opencode/strray/features.json +14 -1
  14. package/.opencode/strray/inference/workflow-1774264530024.json +119 -0
  15. package/.opencode/strray/inference/workflow-1774264540177.json +119 -0
  16. package/.opencode/strray/inference/workflow-1774264541187.json +119 -0
  17. package/.opencode/strray/inference/workflow-1774264544776.json +119 -0
  18. package/.opencode/strray/inference/workflow-1774264546321.json +119 -0
  19. package/.opencode/strray/inference/workflow-1774264548274.json +119 -0
  20. package/.opencode/strray/inference/workflow-1774264548504.json +119 -0
  21. package/.opencode/strray/inference/workflow-1774264564505.json +119 -0
  22. package/.opencode/strray/inference/workflow-1774264565482.json +119 -0
  23. package/.opencode/strray/inference/workflow-1774264570622.json +119 -0
  24. package/.opencode/strray/inference/workflow-1774264571826.json +119 -0
  25. package/.opencode/strray/inference/workflow-1774264579504.json +119 -0
  26. package/.opencode/strray/inference/workflow-1774264590028.json +119 -0
  27. package/.opencode/strray/inference/workflow-1774264594094.json +119 -0
  28. package/.opencode/strray/inference/workflow-1774264594907.json +119 -0
  29. package/.opencode/strray/inference/workflow-1774264595371.json +119 -0
  30. package/.opencode/strray/inference/workflow-1774264595719.json +119 -0
  31. package/.opencode/strray/inference/workflow-1774264596037.json +119 -0
  32. package/.opencode/strray/inference/workflow-1774264596142.json +119 -0
  33. package/.opencode/strray/inference/workflow-1774264596280.json +119 -0
  34. package/.opencode/strray/inference/workflow-1774264599389.json +119 -0
  35. package/.opencode/strray/inference/workflow-1774264600775.json +119 -0
  36. package/.opencode/strray/inference/workflow-1774264632159.json +119 -0
  37. package/.opencode/strray/inference/workflow-1774264635046.json +119 -0
  38. package/.opencode/strray/inference/workflow-1774264635296.json +119 -0
  39. package/.opencode/strray/inference/workflow-1774264636125.json +119 -0
  40. package/.opencode/strray/inference/workflow-1774264658874.json +119 -0
  41. package/.opencode/strray/inference/workflow-1774264662587.json +119 -0
  42. package/.opencode/strray/inference/workflow-1774264663551.json +119 -0
  43. package/.opencode/strray/inference/workflow-1774264663749.json +119 -0
  44. package/.opencode/strray/inference/workflow-1774264664437.json +119 -0
  45. package/.opencode/strray/inference/workflow-1774264664860.json +119 -0
  46. package/.opencode/strray/inference/workflow-1774264665046.json +119 -0
  47. package/.opencode/strray/inference/workflow-1774264665693.json +119 -0
  48. package/.opencode/strray/inference/workflow-1774264668437.json +119 -0
  49. package/.opencode/strray/inference/workflow-1774264689018.json +119 -0
  50. package/.opencode/strray/inference/workflow-1774264690852.json +119 -0
  51. package/.opencode/strray/inference/workflow-1774264694841.json +119 -0
  52. package/.opencode/strray/inference/workflow-1774264697971.json +119 -0
  53. package/.opencode/strray/inference/workflow-1774264717793.json +119 -0
  54. package/.opencode/strray/inference/workflow-1774264720852.json +119 -0
  55. package/.opencode/strray/inference/workflow-1774264721534.json +119 -0
  56. package/.opencode/strray/inference/workflow-1774264722443.json +119 -0
  57. package/.opencode/strray/inference/workflow-1774264725283.json +119 -0
  58. package/.opencode/strray/inference/workflow-1774264725484.json +119 -0
  59. package/.opencode/strray/inference/workflow-1774264727777.json +119 -0
  60. package/.opencode/strray/inference/workflow-1774264729159.json +119 -0
  61. package/.opencode/strray/inference/workflow-1774264741797.json +119 -0
  62. package/.opencode/strray/inference/workflow-1774264742153.json +119 -0
  63. package/.opencode/strray/inference/workflow-1774264766224.json +119 -0
  64. package/.opencode/strray/inference/workflow-1774264766957.json +119 -0
  65. package/.opencode/strray/inference/workflow-1774264768051.json +119 -0
  66. package/.opencode/strray/inference/workflow-1774264771724.json +119 -0
  67. package/.opencode/strray/inference/workflow-1774264772000.json +119 -0
  68. package/.opencode/strray/inference/workflow-1774264772822.json +119 -0
  69. package/.opencode/strray/inference/workflow-1774264774260.json +119 -0
  70. package/.opencode/strray/inference/workflow-1774264780003.json +119 -0
  71. package/.opencode/strray/inference/workflow-1774264780641.json +119 -0
  72. package/.opencode/strray/inference/workflow-1774264801712.json +119 -0
  73. package/.opencode/strray/inference/workflow-1774264801836.json +119 -0
  74. package/.opencode/strray/inference/workflow-1774264816377.json +119 -0
  75. package/.opencode/strray/inference/workflow-1774264817493.json +119 -0
  76. package/.opencode/strray/inference/workflow-1774264817590.json +119 -0
  77. package/.opencode/strray/inference/workflow-1774264817790.json +119 -0
  78. package/.opencode/strray/inference/workflow-1774264820927.json +119 -0
  79. package/.opencode/strray/inference/workflow-1774264821936.json +119 -0
  80. package/.opencode/strray/inference/workflow-1774264829694.json +119 -0
  81. package/.opencode/strray/inference/workflow-1774264837518.json +119 -0
  82. package/.opencode/strray/inference/workflow-1774264844318.json +119 -0
  83. package/.opencode/strray/inference/workflow-1774264845898.json +119 -0
  84. package/.opencode/strray/inference/workflow-1774264867825.json +119 -0
  85. package/.opencode/strray/inference/workflow-1774264868528.json +119 -0
  86. package/.opencode/strray/inference/workflow-1774264868945.json +119 -0
  87. package/.opencode/strray/inference/workflow-1774264869646.json +119 -0
  88. package/.opencode/strray/inference/workflow-1774264869665.json +119 -0
  89. package/.opencode/strray/inference/workflow-1774264871711.json +119 -0
  90. package/.opencode/strray/inference/workflow-1774264873427.json +119 -0
  91. package/.opencode/strray/inference/workflow-1774264877848.json +119 -0
  92. package/.opencode/strray/inference/workflow-1774264890964.json +119 -0
  93. package/.opencode/strray/inference/workflow-1774264977202.json +119 -0
  94. package/.opencode/strray/inference/workflow-1774264981382.json +119 -0
  95. package/.opencode/strray/inference/workflow-1774264985329.json +119 -0
  96. package/.opencode/strray/inference/workflow-1774264989804.json +119 -0
  97. package/.opencode/strray/inference/workflow-1774264999277.json +119 -0
  98. package/.opencode/strray/inference/workflow-1774264999981.json +119 -0
  99. package/.opencode/strray/inference/workflow-1774265000242.json +119 -0
  100. package/.opencode/strray/inference/workflow-1774265005715.json +119 -0
  101. package/.opencode/strray/inference/workflow-1774265005906.json +119 -0
  102. package/.opencode/strray/inference/workflow-1774265007828.json +119 -0
  103. package/.opencode/strray/inference/workflow-1774265010186.json +119 -0
  104. package/.opencode/strray/inference/workflow-1774265021904.json +119 -0
  105. package/.opencode/strray/inference/workflow-1774265021982.json +119 -0
  106. package/.opencode/strray/inference/workflow-1774265023790.json +119 -0
  107. package/.opencode/strray/inference/workflow-1774265024727.json +119 -0
  108. package/.opencode/strray/inference/workflow-1774265027327.json +119 -0
  109. package/.opencode/strray/inference/workflow-1774265038082.json +119 -0
  110. package/.opencode/strray/inference/workflow-1774265039370.json +119 -0
  111. package/.opencode/strray/inference/workflow-1774265039594.json +119 -0
  112. package/.opencode/strray/inference/workflow-1774265054975.json +119 -0
  113. package/.opencode/strray/inference/workflow-1774265057663.json +119 -0
  114. package/.opencode/strray/inference/workflow-1774265058690.json +119 -0
  115. package/.opencode/strray/inference/workflow-1774265064045.json +119 -0
  116. package/.opencode/strray/inference/workflow-1774265065281.json +119 -0
  117. package/.opencode/strray/inference/workflow-1774265068116.json +119 -0
  118. package/.opencode/strray/inference/workflow-1774265155842.json +119 -0
  119. package/.opencode/strray/inference/workflow-1774265159971.json +119 -0
  120. package/.opencode/strray/inference/workflow-1774265164028.json +119 -0
  121. package/.opencode/strray/inference/workflow-1774265166851.json +119 -0
  122. package/.opencode/strray/inference/workflow-1774265177550.json +119 -0
  123. package/.opencode/strray/inference/workflow-1774265178351.json +119 -0
  124. package/.opencode/strray/inference/workflow-1774265178493.json +119 -0
  125. package/.opencode/strray/inference/workflow-1774265180516.json +119 -0
  126. package/.opencode/strray/inference/workflow-1774265188724.json +119 -0
  127. package/.opencode/strray/inference/workflow-1774265189784.json +119 -0
  128. package/.opencode/strray/inference/workflow-1774265191522.json +119 -0
  129. package/.opencode/strray/inference/workflow-1774265192088.json +119 -0
  130. package/.opencode/strray/inference/workflow-1774265199380.json +119 -0
  131. package/.opencode/strray/inference/workflow-1774265201097.json +119 -0
  132. package/.opencode/strray/inference/workflow-1774265202113.json +119 -0
  133. package/.opencode/strray/inference/workflow-1774265203745.json +119 -0
  134. package/.opencode/strray/inference/workflow-1774265204604.json +119 -0
  135. package/.opencode/strray/inference/workflow-1774265218347.json +119 -0
  136. package/.opencode/strray/inference/workflow-1774265219679.json +119 -0
  137. package/.opencode/strray/inference/workflow-1774265220975.json +119 -0
  138. package/.opencode/strray/inference/workflow-1774265221268.json +119 -0
  139. package/.opencode/strray/inference/workflow-1774265391328.json +119 -0
  140. package/.opencode/strray/inference/workflow-1774265392371.json +119 -0
  141. package/.opencode/strray/integrations.json +3 -3
  142. package/AGENTS-consumer.md +485 -275
  143. package/AGENTS.md +485 -275
  144. package/README.md +109 -15
  145. package/dist/agents/researcher.d.ts.map +1 -1
  146. package/dist/agents/researcher.js.map +1 -1
  147. package/dist/analytics/emerging-pattern-detector.d.ts +1 -1
  148. package/dist/analytics/emerging-pattern-detector.d.ts.map +1 -1
  149. package/dist/analytics/index.d.ts +23 -0
  150. package/dist/analytics/index.d.ts.map +1 -0
  151. package/dist/analytics/index.js +18 -0
  152. package/dist/analytics/index.js.map +1 -0
  153. package/dist/analytics/pattern-performance-tracker.d.ts +9 -0
  154. package/dist/analytics/pattern-performance-tracker.d.ts.map +1 -1
  155. package/dist/analytics/pattern-performance-tracker.js +46 -0
  156. package/dist/analytics/pattern-performance-tracker.js.map +1 -1
  157. package/dist/analytics/prompt-pattern-analyzer.js +1 -1
  158. package/dist/analytics/prompt-pattern-analyzer.js.map +1 -1
  159. package/dist/analytics/routing-performance-analyzer.d.ts.map +1 -1
  160. package/dist/analytics/routing-performance-analyzer.js +21 -8
  161. package/dist/analytics/routing-performance-analyzer.js.map +1 -1
  162. package/dist/analytics/routing-refiner.js +1 -1
  163. package/dist/analytics/simple-pattern-analyzer.d.ts +1 -0
  164. package/dist/analytics/simple-pattern-analyzer.d.ts.map +1 -1
  165. package/dist/analytics/simple-pattern-analyzer.js +66 -15
  166. package/dist/analytics/simple-pattern-analyzer.js.map +1 -1
  167. package/dist/cli/commands/agent-skills.d.ts +10 -0
  168. package/dist/cli/commands/agent-skills.d.ts.map +1 -0
  169. package/dist/cli/commands/agent-skills.js +55 -0
  170. package/dist/cli/commands/agent-skills.js.map +1 -0
  171. package/dist/cli/commands/antigravity-status.d.ts +10 -0
  172. package/dist/cli/commands/antigravity-status.d.ts.map +1 -0
  173. package/dist/cli/commands/antigravity-status.js +102 -0
  174. package/dist/cli/commands/antigravity-status.js.map +1 -0
  175. package/dist/cli/commands/credible-init.d.ts +12 -0
  176. package/dist/cli/commands/credible-init.d.ts.map +1 -0
  177. package/dist/cli/commands/credible-init.js +83 -0
  178. package/dist/cli/commands/credible-init.js.map +1 -0
  179. package/dist/cli/commands/publish-agent.d.ts +16 -0
  180. package/dist/cli/commands/publish-agent.d.ts.map +1 -0
  181. package/dist/cli/commands/publish-agent.js +184 -0
  182. package/dist/cli/commands/publish-agent.js.map +1 -0
  183. package/dist/cli/commands/skill-install.d.ts +6 -0
  184. package/dist/cli/commands/skill-install.d.ts.map +1 -0
  185. package/dist/cli/commands/skill-install.js +305 -0
  186. package/dist/cli/commands/skill-install.js.map +1 -0
  187. package/dist/cli/commands/skill-list.d.ts +11 -0
  188. package/dist/cli/commands/skill-list.d.ts.map +1 -0
  189. package/dist/cli/commands/skill-list.js +54 -0
  190. package/dist/cli/commands/skill-list.js.map +1 -0
  191. package/dist/cli/commands/status.d.ts +42 -0
  192. package/dist/cli/commands/status.d.ts.map +1 -0
  193. package/dist/cli/commands/status.js +192 -0
  194. package/dist/cli/commands/status.js.map +1 -0
  195. package/dist/cli/index.js +194 -64
  196. package/dist/cli/index.js.map +1 -1
  197. package/dist/config/default-agents.d.ts +22 -0
  198. package/dist/config/default-agents.d.ts.map +1 -0
  199. package/dist/config/default-agents.js +294 -0
  200. package/dist/config/default-agents.js.map +1 -0
  201. package/dist/core/boot-orchestrator.d.ts +11 -2
  202. package/dist/core/boot-orchestrator.d.ts.map +1 -1
  203. package/dist/core/boot-orchestrator.js +85 -161
  204. package/dist/core/boot-orchestrator.js.map +1 -1
  205. package/dist/core/boot-phases.d.ts +19 -0
  206. package/dist/core/boot-phases.d.ts.map +1 -0
  207. package/dist/core/boot-phases.js +60 -0
  208. package/dist/core/boot-phases.js.map +1 -0
  209. package/dist/core/features-config.js +1 -1
  210. package/dist/core/memory-monitor-setup.d.ts +26 -0
  211. package/dist/core/memory-monitor-setup.d.ts.map +1 -0
  212. package/dist/core/memory-monitor-setup.js +79 -0
  213. package/dist/core/memory-monitor-setup.js.map +1 -0
  214. package/dist/core/system-prompt-generator.d.ts.map +1 -1
  215. package/dist/core/system-prompt-generator.js +28 -0
  216. package/dist/core/system-prompt-generator.js.map +1 -1
  217. package/dist/delegation/agent-delegator.d.ts +0 -1
  218. package/dist/delegation/agent-delegator.d.ts.map +1 -1
  219. package/dist/delegation/agent-delegator.js +7 -288
  220. package/dist/delegation/agent-delegator.js.map +1 -1
  221. package/dist/delegation/analytics/learning-engine.d.ts +9 -25
  222. package/dist/delegation/analytics/learning-engine.d.ts.map +1 -1
  223. package/dist/delegation/analytics/learning-engine.js +182 -69
  224. package/dist/delegation/analytics/learning-engine.js.map +1 -1
  225. package/dist/delegation/analytics/outcome-tracker.d.ts +8 -1
  226. package/dist/delegation/analytics/outcome-tracker.d.ts.map +1 -1
  227. package/dist/delegation/analytics/outcome-tracker.js +28 -8
  228. package/dist/delegation/analytics/outcome-tracker.js.map +1 -1
  229. package/dist/delegation/analytics/routing-analytics.d.ts.map +1 -1
  230. package/dist/delegation/analytics/routing-analytics.js +1 -2
  231. package/dist/delegation/analytics/routing-analytics.js.map +1 -1
  232. package/dist/delegation/ast-code-parser.d.ts +8 -0
  233. package/dist/delegation/ast-code-parser.d.ts.map +1 -1
  234. package/dist/delegation/ast-code-parser.js +180 -12
  235. package/dist/delegation/ast-code-parser.js.map +1 -1
  236. package/dist/delegation/complexity-analyzer.d.ts +29 -2
  237. package/dist/delegation/complexity-analyzer.d.ts.map +1 -1
  238. package/dist/delegation/complexity-analyzer.js +79 -5
  239. package/dist/delegation/complexity-analyzer.js.map +1 -1
  240. package/dist/delegation/complexity-calibrator.d.ts +2 -1
  241. package/dist/delegation/complexity-calibrator.d.ts.map +1 -1
  242. package/dist/delegation/complexity-calibrator.js +77 -25
  243. package/dist/delegation/complexity-calibrator.js.map +1 -1
  244. package/dist/delegation/config/types.d.ts +4 -0
  245. package/dist/delegation/config/types.d.ts.map +1 -1
  246. package/dist/delegation/index.d.ts +0 -1
  247. package/dist/delegation/index.d.ts.map +1 -1
  248. package/dist/delegation/index.js +0 -2
  249. package/dist/delegation/index.js.map +1 -1
  250. package/dist/enforcement/enforcer-tools.d.ts +0 -4
  251. package/dist/enforcement/enforcer-tools.d.ts.map +1 -1
  252. package/dist/enforcement/enforcer-tools.js +4 -15
  253. package/dist/enforcement/enforcer-tools.js.map +1 -1
  254. package/dist/mcps/architect-tools.server.d.ts.map +1 -1
  255. package/dist/mcps/architect-tools.server.js +16 -15
  256. package/dist/mcps/architect-tools.server.js.map +1 -1
  257. package/dist/mcps/auto-format.server.d.ts.map +1 -1
  258. package/dist/mcps/auto-format.server.js +8 -7
  259. package/dist/mcps/auto-format.server.js.map +1 -1
  260. package/dist/mcps/boot-orchestrator.server.js +2 -2
  261. package/dist/mcps/boot-orchestrator.server.js.map +1 -1
  262. package/dist/mcps/enforcer-tools.server.d.ts.map +1 -1
  263. package/dist/mcps/enforcer-tools.server.js +10 -9
  264. package/dist/mcps/enforcer-tools.server.js.map +1 -1
  265. package/dist/mcps/estimation.server.js +2 -2
  266. package/dist/mcps/estimation.server.js.map +1 -1
  267. package/dist/mcps/framework-compliance-audit.server.js +3 -3
  268. package/dist/mcps/framework-compliance-audit.server.js.map +1 -1
  269. package/dist/mcps/framework-help.server.d.ts.map +1 -1
  270. package/dist/mcps/framework-help.server.js +4 -3
  271. package/dist/mcps/framework-help.server.js.map +1 -1
  272. package/dist/mcps/knowledge-skills/api-design.server.d.ts.map +1 -1
  273. package/dist/mcps/knowledge-skills/api-design.server.js +6 -51
  274. package/dist/mcps/knowledge-skills/api-design.server.js.map +1 -1
  275. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts.map +1 -1
  276. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +6 -51
  277. package/dist/mcps/knowledge-skills/architecture-patterns.server.js.map +1 -1
  278. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +1 -1
  279. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts.map +1 -1
  280. package/dist/mcps/knowledge-skills/code-analyzer.server.js +7 -26
  281. package/dist/mcps/knowledge-skills/code-analyzer.server.js.map +1 -1
  282. package/dist/mcps/knowledge-skills/code-review.server.d.ts.map +1 -1
  283. package/dist/mcps/knowledge-skills/code-review.server.js +6 -51
  284. package/dist/mcps/knowledge-skills/code-review.server.js.map +1 -1
  285. package/dist/mcps/knowledge-skills/content-creator.server.js +1 -1
  286. package/dist/mcps/knowledge-skills/database-design.server.d.ts.map +1 -1
  287. package/dist/mcps/knowledge-skills/database-design.server.js +6 -54
  288. package/dist/mcps/knowledge-skills/database-design.server.js.map +1 -1
  289. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts.map +1 -1
  290. package/dist/mcps/knowledge-skills/devops-deployment.server.js +6 -54
  291. package/dist/mcps/knowledge-skills/devops-deployment.server.js.map +1 -1
  292. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts.map +1 -1
  293. package/dist/mcps/knowledge-skills/git-workflow.server.js +6 -51
  294. package/dist/mcps/knowledge-skills/git-workflow.server.js.map +1 -1
  295. package/dist/mcps/knowledge-skills/growth-strategist.server.js +1 -1
  296. package/dist/mcps/knowledge-skills/log-monitor.server.js +1 -1
  297. package/dist/mcps/knowledge-skills/mobile-development.server.js +1 -1
  298. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +1 -1
  299. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts.map +1 -1
  300. package/dist/mcps/knowledge-skills/performance-optimization.server.js +6 -51
  301. package/dist/mcps/knowledge-skills/performance-optimization.server.js.map +1 -1
  302. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts.map +1 -1
  303. package/dist/mcps/knowledge-skills/project-analysis.server.js +12 -12
  304. package/dist/mcps/knowledge-skills/project-analysis.server.js.map +1 -1
  305. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts.map +1 -1
  306. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +6 -54
  307. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js.map +1 -1
  308. package/dist/mcps/knowledge-skills/security-audit.server.d.ts.map +1 -1
  309. package/dist/mcps/knowledge-skills/security-audit.server.js +6 -51
  310. package/dist/mcps/knowledge-skills/security-audit.server.js.map +1 -1
  311. package/dist/mcps/knowledge-skills/seo-consultant.server.js +1 -1
  312. package/dist/mcps/knowledge-skills/session-management.server.js +9 -9
  313. package/dist/mcps/knowledge-skills/session-management.server.js.map +1 -1
  314. package/dist/mcps/knowledge-skills/skill-invocation.server.js +1 -1
  315. package/dist/mcps/knowledge-skills/strategist.server.js +2 -2
  316. package/dist/mcps/knowledge-skills/strategist.server.js.map +1 -1
  317. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts.map +1 -1
  318. package/dist/mcps/knowledge-skills/tech-writer.server.js +7 -52
  319. package/dist/mcps/knowledge-skills/tech-writer.server.js.map +1 -1
  320. package/dist/mcps/knowledge-skills/testing-best-practices.server.d.ts.map +1 -1
  321. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +6 -54
  322. package/dist/mcps/knowledge-skills/testing-best-practices.server.js.map +1 -1
  323. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts.map +1 -1
  324. package/dist/mcps/knowledge-skills/testing-strategy.server.js +7 -54
  325. package/dist/mcps/knowledge-skills/testing-strategy.server.js.map +1 -1
  326. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +6 -6
  327. package/dist/mcps/knowledge-skills/ui-ux-design.server.js.map +1 -1
  328. package/dist/mcps/lint.server.js +3 -3
  329. package/dist/mcps/lint.server.js.map +1 -1
  330. package/dist/mcps/model-health-check.server.d.ts.map +1 -1
  331. package/dist/mcps/model-health-check.server.js +5 -4
  332. package/dist/mcps/model-health-check.server.js.map +1 -1
  333. package/dist/mcps/orchestrator.server.d.ts.map +1 -1
  334. package/dist/mcps/orchestrator.server.js +2 -1
  335. package/dist/mcps/orchestrator.server.js.map +1 -1
  336. package/dist/mcps/performance-analysis.server.js +3 -3
  337. package/dist/mcps/performance-analysis.server.js.map +1 -1
  338. package/dist/mcps/processor-pipeline.server.d.ts.map +1 -1
  339. package/dist/mcps/processor-pipeline.server.js +3 -2
  340. package/dist/mcps/processor-pipeline.server.js.map +1 -1
  341. package/dist/mcps/researcher.server.d.ts.map +1 -1
  342. package/dist/mcps/researcher.server.js +7 -6
  343. package/dist/mcps/researcher.server.js.map +1 -1
  344. package/dist/mcps/security-scan.server.d.ts.map +1 -1
  345. package/dist/mcps/security-scan.server.js +6 -5
  346. package/dist/mcps/security-scan.server.js.map +1 -1
  347. package/dist/mcps/state-manager.server.js +2 -2
  348. package/dist/mcps/state-manager.server.js.map +1 -1
  349. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +32 -2
  350. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts.map +1 -1
  351. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +9 -10
  352. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js.map +1 -1
  353. package/dist/orchestrator/orchestrator.d.ts +23 -1
  354. package/dist/orchestrator/orchestrator.d.ts.map +1 -1
  355. package/dist/orchestrator/orchestrator.js +2 -1
  356. package/dist/orchestrator/orchestrator.js.map +1 -1
  357. package/dist/orchestrator/universal-registry-bridge.js +1 -1
  358. package/dist/plugin/strray-codex-injection.d.ts.map +1 -1
  359. package/dist/plugin/strray-codex-injection.js +95 -103
  360. package/dist/plugin/strray-codex-injection.js.map +1 -1
  361. package/dist/postprocessor/PostProcessor.d.ts.map +1 -1
  362. package/dist/postprocessor/PostProcessor.js +1 -2
  363. package/dist/postprocessor/PostProcessor.js.map +1 -1
  364. package/dist/postprocessor/escalation/EscalationEngine.d.ts +82 -0
  365. package/dist/postprocessor/escalation/EscalationEngine.d.ts.map +1 -1
  366. package/dist/postprocessor/escalation/EscalationEngine.js +253 -2
  367. package/dist/postprocessor/escalation/EscalationEngine.js.map +1 -1
  368. package/dist/processors/implementations/index.d.ts +2 -0
  369. package/dist/processors/implementations/index.d.ts.map +1 -1
  370. package/dist/processors/implementations/index.js +2 -0
  371. package/dist/processors/implementations/index.js.map +1 -1
  372. package/dist/processors/implementations/inference-improvement-processor.d.ts +32 -0
  373. package/dist/processors/implementations/inference-improvement-processor.d.ts.map +1 -0
  374. package/dist/processors/implementations/inference-improvement-processor.js +229 -0
  375. package/dist/processors/implementations/inference-improvement-processor.js.map +1 -0
  376. package/dist/processors/implementations/log-protection-processor.d.ts +31 -0
  377. package/dist/processors/implementations/log-protection-processor.d.ts.map +1 -0
  378. package/dist/processors/implementations/log-protection-processor.js +119 -0
  379. package/dist/processors/implementations/log-protection-processor.js.map +1 -0
  380. package/dist/processors/processor-manager.d.ts +52 -38
  381. package/dist/processors/processor-manager.d.ts.map +1 -1
  382. package/dist/processors/processor-manager.js +22 -118
  383. package/dist/processors/processor-manager.js.map +1 -1
  384. package/dist/reporting/autonomous-report-generator.d.ts +171 -0
  385. package/dist/reporting/autonomous-report-generator.d.ts.map +1 -0
  386. package/dist/reporting/autonomous-report-generator.js +425 -0
  387. package/dist/reporting/autonomous-report-generator.js.map +1 -0
  388. package/dist/reporting/orchestration-flow-reporter.d.ts +35 -0
  389. package/dist/reporting/orchestration-flow-reporter.d.ts.map +1 -0
  390. package/dist/reporting/orchestration-flow-reporter.js +169 -0
  391. package/dist/reporting/orchestration-flow-reporter.js.map +1 -0
  392. package/dist/services/inference-tuner.d.ts +58 -0
  393. package/dist/services/inference-tuner.d.ts.map +1 -0
  394. package/dist/services/inference-tuner.js +174 -0
  395. package/dist/services/inference-tuner.js.map +1 -0
  396. package/dist/session/session-monitor.d.ts +35 -0
  397. package/dist/session/session-monitor.d.ts.map +1 -1
  398. package/dist/session/session-monitor.js +142 -17
  399. package/dist/session/session-monitor.js.map +1 -1
  400. package/dist/skills/systematic-debugging/condition-based-waiting-example.d.ts +52 -0
  401. package/dist/skills/systematic-debugging/condition-based-waiting-example.d.ts.map +1 -0
  402. package/dist/skills/systematic-debugging/condition-based-waiting-example.js +128 -0
  403. package/dist/skills/systematic-debugging/condition-based-waiting-example.js.map +1 -0
  404. package/dist/utils/shutdown-handler.d.ts +28 -0
  405. package/dist/utils/shutdown-handler.d.ts.map +1 -0
  406. package/dist/utils/shutdown-handler.js +76 -0
  407. package/dist/utils/shutdown-handler.js.map +1 -0
  408. package/package.json +7 -10
  409. package/scripts/mjs/validate-mcp-connectivity.cjs +75 -0
  410. package/scripts/mjs/validate-postinstall-config.mjs +76 -0
  411. package/scripts/node/ci-cd-auto-fix.cjs +263 -0
  412. package/scripts/node/enforce-version-compliance.ts +4 -3
  413. package/scripts/node/install.cjs +595 -0
  414. package/scripts/node/postinstall.cjs +37 -0
  415. package/scripts/node/test-install.cjs +79 -0
  416. package/scripts/node/universal-version-manager.js +13 -10
  417. package/{.opencode → src}/skills/api-design/SKILL.md +6 -0
  418. package/{.opencode → src}/skills/architect-tools/SKILL.md +6 -0
  419. package/{.opencode → src}/skills/architecture-patterns/SKILL.md +6 -0
  420. package/{.opencode → src}/skills/auto-format/SKILL.md +6 -0
  421. package/{.opencode → src}/skills/boot-orchestrator/SKILL.md +6 -0
  422. package/{.opencode → src}/skills/bug-triage/SKILL.md +6 -0
  423. package/{.opencode → src}/skills/code-analyzer/SKILL.md +6 -0
  424. package/{.opencode → src}/skills/code-review/SKILL.md +17 -0
  425. package/{.opencode → src}/skills/enforcer/SKILL.md +6 -0
  426. package/{.opencode → src}/skills/framework-compliance-audit/SKILL.md +6 -0
  427. package/{.opencode → src}/skills/git-workflow/SKILL.md +6 -0
  428. package/src/skills/inference-improve/SKILL.md +96 -0
  429. package/{.opencode → src}/skills/lint/SKILL.md +6 -0
  430. package/{.opencode → src}/skills/log-monitor/SKILL.md +6 -0
  431. package/{.opencode → src}/skills/model-health-check/SKILL.md +6 -0
  432. package/{.opencode → src}/skills/multimodal-looker/SKILL.md +6 -0
  433. package/{.opencode → src}/skills/orchestrator/SKILL.md +6 -0
  434. package/{.opencode → src}/skills/performance-analysis/SKILL.md +6 -0
  435. package/{.opencode → src}/skills/performance-optimization/SKILL.md +6 -0
  436. package/{.opencode → src}/skills/processor-pipeline/SKILL.md +6 -0
  437. package/{.opencode → src}/skills/project-analysis/SKILL.md +6 -0
  438. package/{.opencode → src}/skills/refactoring-strategies/SKILL.md +6 -0
  439. package/src/skills/registry.json +66 -0
  440. package/{.opencode → src}/skills/researcher/SKILL.md +6 -0
  441. package/{.opencode → src}/skills/security-audit/SKILL.md +16 -0
  442. package/{.opencode → src}/skills/security-scan/SKILL.md +6 -0
  443. package/{.opencode → src}/skills/session-management/SKILL.md +6 -0
  444. package/{.opencode → src}/skills/state-manager/SKILL.md +6 -0
  445. package/{.opencode → src}/skills/testing-best-practices/SKILL.md +6 -0
  446. package/{.opencode → src}/skills/testing-strategy/SKILL.md +6 -0
  447. package/{.opencode → src}/skills/ui-ux-design/SKILL.md +6 -0
  448. package/.opencode/integrations/api-security-best-practices/SKILL.md +0 -919
  449. package/.opencode/integrations/aws-serverless/SKILL.md +0 -337
  450. package/.opencode/integrations/brainstorming/SKILL.md +0 -241
  451. package/.opencode/integrations/claude-seo/README.md +0 -77
  452. package/.opencode/integrations/claude-seo/routing.json +0 -103
  453. package/.opencode/integrations/claude-seo/seo-audit/SKILL.md +0 -127
  454. package/.opencode/integrations/claude-seo/seo-competitor-pages/SKILL.md +0 -220
  455. package/.opencode/integrations/claude-seo/seo-content/SKILL.md +0 -177
  456. package/.opencode/integrations/claude-seo/seo-geo/SKILL.md +0 -251
  457. package/.opencode/integrations/claude-seo/seo-hreflang/SKILL.md +0 -200
  458. package/.opencode/integrations/claude-seo/seo-images/SKILL.md +0 -184
  459. package/.opencode/integrations/claude-seo/seo-page/SKILL.md +0 -94
  460. package/.opencode/integrations/claude-seo/seo-plan/SKILL.md +0 -126
  461. package/.opencode/integrations/claude-seo/seo-programmatic/SKILL.md +0 -178
  462. package/.opencode/integrations/claude-seo/seo-schema/SKILL.md +0 -167
  463. package/.opencode/integrations/claude-seo/seo-sitemap/SKILL.md +0 -120
  464. package/.opencode/integrations/claude-seo/seo-technical/SKILL.md +0 -168
  465. package/.opencode/integrations/copywriting/SKILL.md +0 -259
  466. package/.opencode/integrations/docker-expert/SKILL.md +0 -422
  467. package/.opencode/integrations/pricing-strategy/SKILL.md +0 -371
  468. package/.opencode/integrations/prompt-engineering/SKILL.md +0 -186
  469. package/.opencode/integrations/python-patterns/SKILL.md +0 -456
  470. package/.opencode/integrations/rag-engineer/SKILL.md +0 -104
  471. package/.opencode/integrations/react-patterns/SKILL.md +0 -212
  472. package/.opencode/integrations/seo-fundamentals/SKILL.md +0 -184
  473. package/.opencode/integrations/typescript-expert/SKILL.md +0 -435
  474. package/.opencode/integrations/vercel-deployment/SKILL.md +0 -89
  475. package/.opencode/integrations/vulnerability-scanner/SKILL.md +0 -290
  476. package/.opencode/strray/routing-mappings.json +0 -552
  477. package/LICENSE.antigravity +0 -42
  478. package/LICENSE.claude-seo +0 -39
  479. package/dist/delegation/config/default-mappings/analysis-mappings.d.ts +0 -9
  480. package/dist/delegation/config/default-mappings/analysis-mappings.d.ts.map +0 -1
  481. package/dist/delegation/config/default-mappings/analysis-mappings.js +0 -85
  482. package/dist/delegation/config/default-mappings/analysis-mappings.js.map +0 -1
  483. package/dist/delegation/config/default-mappings/architecture-mappings.d.ts +0 -9
  484. package/dist/delegation/config/default-mappings/architecture-mappings.d.ts.map +0 -1
  485. package/dist/delegation/config/default-mappings/architecture-mappings.js +0 -88
  486. package/dist/delegation/config/default-mappings/architecture-mappings.js.map +0 -1
  487. package/dist/delegation/config/default-mappings/content-mappings.d.ts +0 -9
  488. package/dist/delegation/config/default-mappings/content-mappings.d.ts.map +0 -1
  489. package/dist/delegation/config/default-mappings/content-mappings.js +0 -120
  490. package/dist/delegation/config/default-mappings/content-mappings.js.map +0 -1
  491. package/dist/delegation/config/default-mappings/database-mappings.d.ts +0 -9
  492. package/dist/delegation/config/default-mappings/database-mappings.d.ts.map +0 -1
  493. package/dist/delegation/config/default-mappings/database-mappings.js +0 -33
  494. package/dist/delegation/config/default-mappings/database-mappings.js.map +0 -1
  495. package/dist/delegation/config/default-mappings/development-mappings.d.ts +0 -9
  496. package/dist/delegation/config/default-mappings/development-mappings.d.ts.map +0 -1
  497. package/dist/delegation/config/default-mappings/development-mappings.js +0 -240
  498. package/dist/delegation/config/default-mappings/development-mappings.js.map +0 -1
  499. package/dist/delegation/config/default-mappings/devops-mappings.d.ts +0 -9
  500. package/dist/delegation/config/default-mappings/devops-mappings.d.ts.map +0 -1
  501. package/dist/delegation/config/default-mappings/devops-mappings.js +0 -83
  502. package/dist/delegation/config/default-mappings/devops-mappings.js.map +0 -1
  503. package/dist/delegation/config/default-mappings/documentation-mappings.d.ts +0 -9
  504. package/dist/delegation/config/default-mappings/documentation-mappings.d.ts.map +0 -1
  505. package/dist/delegation/config/default-mappings/documentation-mappings.js +0 -48
  506. package/dist/delegation/config/default-mappings/documentation-mappings.js.map +0 -1
  507. package/dist/delegation/config/default-mappings/index.d.ts +0 -26
  508. package/dist/delegation/config/default-mappings/index.d.ts.map +0 -1
  509. package/dist/delegation/config/default-mappings/index.js +0 -38
  510. package/dist/delegation/config/default-mappings/index.js.map +0 -1
  511. package/dist/delegation/config/default-mappings/performance-mappings.d.ts +0 -9
  512. package/dist/delegation/config/default-mappings/performance-mappings.d.ts.map +0 -1
  513. package/dist/delegation/config/default-mappings/performance-mappings.js +0 -68
  514. package/dist/delegation/config/default-mappings/performance-mappings.js.map +0 -1
  515. package/dist/delegation/config/default-mappings/security-mappings.d.ts +0 -9
  516. package/dist/delegation/config/default-mappings/security-mappings.d.ts.map +0 -1
  517. package/dist/delegation/config/default-mappings/security-mappings.js +0 -59
  518. package/dist/delegation/config/default-mappings/security-mappings.js.map +0 -1
  519. package/dist/delegation/config/default-mappings/special-mappings.d.ts +0 -9
  520. package/dist/delegation/config/default-mappings/special-mappings.d.ts.map +0 -1
  521. package/dist/delegation/config/default-mappings/special-mappings.js +0 -36
  522. package/dist/delegation/config/default-mappings/special-mappings.js.map +0 -1
  523. package/dist/delegation/config/default-mappings/testing-mappings.d.ts +0 -9
  524. package/dist/delegation/config/default-mappings/testing-mappings.d.ts.map +0 -1
  525. package/dist/delegation/config/default-mappings/testing-mappings.js +0 -88
  526. package/dist/delegation/config/default-mappings/testing-mappings.js.map +0 -1
  527. package/dist/delegation/config/default-mappings/ui-ux-mappings.d.ts +0 -9
  528. package/dist/delegation/config/default-mappings/ui-ux-mappings.d.ts.map +0 -1
  529. package/dist/delegation/config/default-mappings/ui-ux-mappings.js +0 -72
  530. package/dist/delegation/config/default-mappings/ui-ux-mappings.js.map +0 -1
  531. package/dist/delegation/config/index.d.ts +0 -10
  532. package/dist/delegation/config/index.d.ts.map +0 -1
  533. package/dist/delegation/config/index.js +0 -10
  534. package/dist/delegation/config/index.js.map +0 -1
  535. package/dist/delegation/config/routing-config.d.ts +0 -17
  536. package/dist/delegation/config/routing-config.d.ts.map +0 -1
  537. package/dist/delegation/config/routing-config.js +0 -22
  538. package/dist/delegation/config/routing-config.js.map +0 -1
  539. package/dist/delegation/config/routing-mappings.d.ts +0 -21
  540. package/dist/delegation/config/routing-mappings.d.ts.map +0 -1
  541. package/dist/delegation/config/routing-mappings.js +0 -106
  542. package/dist/delegation/config/routing-mappings.js.map +0 -1
  543. package/dist/delegation/routing/complexity-router.d.ts +0 -87
  544. package/dist/delegation/routing/complexity-router.d.ts.map +0 -1
  545. package/dist/delegation/routing/complexity-router.js +0 -140
  546. package/dist/delegation/routing/complexity-router.js.map +0 -1
  547. package/dist/delegation/routing/history-matcher.d.ts +0 -100
  548. package/dist/delegation/routing/history-matcher.d.ts.map +0 -1
  549. package/dist/delegation/routing/history-matcher.js +0 -194
  550. package/dist/delegation/routing/history-matcher.js.map +0 -1
  551. package/dist/delegation/routing/index.d.ts +0 -23
  552. package/dist/delegation/routing/index.d.ts.map +0 -1
  553. package/dist/delegation/routing/index.js +0 -24
  554. package/dist/delegation/routing/index.js.map +0 -1
  555. package/dist/delegation/routing/interfaces.d.ts +0 -99
  556. package/dist/delegation/routing/interfaces.d.ts.map +0 -1
  557. package/dist/delegation/routing/interfaces.js +0 -8
  558. package/dist/delegation/routing/interfaces.js.map +0 -1
  559. package/dist/delegation/routing/keyword-matcher.d.ts +0 -54
  560. package/dist/delegation/routing/keyword-matcher.d.ts.map +0 -1
  561. package/dist/delegation/routing/keyword-matcher.js +0 -142
  562. package/dist/delegation/routing/keyword-matcher.js.map +0 -1
  563. package/dist/delegation/routing/router-core.d.ts +0 -116
  564. package/dist/delegation/routing/router-core.d.ts.map +0 -1
  565. package/dist/delegation/routing/router-core.js +0 -303
  566. package/dist/delegation/routing/router-core.js.map +0 -1
  567. package/dist/delegation/task-skill-router.d.ts +0 -161
  568. package/dist/delegation/task-skill-router.d.ts.map +0 -1
  569. package/dist/delegation/task-skill-router.js +0 -306
  570. package/dist/delegation/task-skill-router.js.map +0 -1
  571. package/dist/plugins/marketplace/marketplace-service.d.ts +0 -108
  572. package/dist/plugins/marketplace/marketplace-service.d.ts.map +0 -1
  573. package/dist/plugins/marketplace/marketplace-service.js +0 -620
  574. package/dist/plugins/marketplace/marketplace-service.js.map +0 -1
  575. package/dist/plugins/marketplace/marketplace-types.d.ts +0 -468
  576. package/dist/plugins/marketplace/marketplace-types.d.ts.map +0 -1
  577. package/dist/plugins/marketplace/marketplace-types.js +0 -11
  578. package/dist/plugins/marketplace/marketplace-types.js.map +0 -1
  579. package/dist/plugins/plugin-system.d.ts +0 -152
  580. package/dist/plugins/plugin-system.d.ts.map +0 -1
  581. package/dist/plugins/plugin-system.js +0 -419
  582. package/dist/plugins/plugin-system.js.map +0 -1
  583. package/dist/plugins/stringray-codex-injection.d.ts +0 -21
  584. package/dist/plugins/stringray-codex-injection.d.ts.map +0 -1
  585. package/dist/plugins/stringray-codex-injection.js +0 -169
  586. package/dist/plugins/stringray-codex-injection.js.map +0 -1
  587. package/dist/scripts/analytics/daily-routing-analysis.d.ts +0 -18
  588. package/dist/scripts/analytics/daily-routing-analysis.d.ts.map +0 -1
  589. package/dist/scripts/analytics/daily-routing-analysis.js +0 -268
  590. package/dist/scripts/analytics/daily-routing-analysis.js.map +0 -1
  591. package/dist/scripts/analytics/index.d.ts +0 -15
  592. package/dist/scripts/analytics/index.d.ts.map +0 -1
  593. package/dist/scripts/analytics/index.js +0 -17
  594. package/dist/scripts/analytics/index.js.map +0 -1
  595. package/dist/scripts/test-p9.d.ts +0 -15
  596. package/dist/scripts/test-p9.d.ts.map +0 -1
  597. package/dist/scripts/test-p9.js +0 -220
  598. package/dist/scripts/test-p9.js.map +0 -1
  599. package/scripts/integrations/install-antigravity-skills.js.mjs +0 -195
  600. package/scripts/integrations/install-claude-seo.js +0 -561
@@ -108,12 +108,13 @@ StringRay uses **two reflection folders** for different purposes:
108
108
 
109
109
  The `@storyteller` agent supports multiple story types:
110
110
 
111
- | Type | Description | Invoke |
112
- |------|-------------|--------|
113
- | `reflection` | Technical deep reflections on development process | `@storyteller write a reflection about X` |
114
- | `saga` | Long-form technical saga spanning multiple sessions | `@storyteller write a saga about X` |
115
- | `journey` | Investigation/learning journey | `@storyteller write a journey about X` |
116
- | `narrative` | Technical narrative - telling the story of code | `@storyteller write a narrative about X` |
111
+ | Type | Description | Template Path | Invoke |
112
+ |------|-------------|---------------|--------|
113
+ | `reflection` | Technical deep reflections on development process | `docs/reflections/TEMPLATE.md` | `@storyteller write a reflection about X` |
114
+ | `saga` | Long-form technical saga spanning multiple sessions | `docs/reflections/deep/SAGA_TEMPLATE.md` | `@storyteller write a saga about X` |
115
+ | `journey` | Investigation/learning journey | `docs/reflections/JOURNEY_TEMPLATE.md` | `@storyteller write a journey about X` |
116
+ | `narrative` | Technical narrative - telling the story of code | `docs/reflections/NARRATIVE_TEMPLATE.md` | `@storyteller write a narrative about X` |
117
+ | `deep reflection` | Extended narrative with emotional journey | `docs/reflections/deep/TEMPLATE.md` | `@storyteller write a deep reflection about X` |
117
118
 
118
119
  **Example:**
119
120
  ```
@@ -139,10 +140,10 @@ The `@storyteller` agent supports multiple story types:
139
140
 
140
141
  StringRay automatically routes tasks based on complexity:
141
142
 
142
- - **Simple (≤20)**: Single agent
143
- - **Moderate (21-35)**: Single agent with tools
144
- - **Complex (36-75)**: Multi-agent coordination
145
- - **Enterprise (>75)**: Orchestrator-led team
143
+ - **Simple (≤15)**: Single agent
144
+ - **Moderate (≤25)**: Single agent with tools
145
+ - **Complex (≤50)**: Multi-agent coordination
146
+ - **Enterprise (>50)**: Orchestrator-led team
146
147
 
147
148
  ## CLI Commands
148
149
 
@@ -155,6 +156,7 @@ npx strray-ai capabilities # Show all features
155
156
  npx strray-ai report # Generate reports
156
157
  npx strray-ai analytics # Pattern analytics
157
158
  npx strray-ai calibrate # Calibrate complexity
159
+ npm run test:pipelines # Pipeline integration tests
158
160
  ```
159
161
 
160
162
  ## Features.json Configuration
@@ -649,4 +651,4 @@ npx strray-ai --version
649
651
  - [Troubleshooting](https://github.com/htafolla/stringray/blob/master/docs/TROUBLESHOOTING.md)
650
652
 
651
653
  ---
652
- **Version**: 1.7.8 | [GitHub](https://github.com/htafolla/stringray)
654
+ **Version**: 1.14.1 | [GitHub](https://github.com/htafolla/stringray)
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.10.0",
2
+ "version": "1.14.1",
3
3
  "terms": [
4
4
  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
5
5
  ],
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "framework": "StringRay 1.0.0",
3
- "version": "1.10.0",
3
+ "version": "1.14.1",
4
4
  "description": "Codex-compliant framework configuration for Credible UI project",
5
5
  "thresholds": {
6
6
  "bundleSize": {
@@ -220,7 +220,7 @@
220
220
  }
221
221
  },
222
222
  "codex": {
223
- "version": "1.10.0",
223
+ "version": "1.14.1",
224
224
  "terms": [
225
225
  1,
226
226
  2,
@@ -97,7 +97,7 @@ fi
97
97
 
98
98
  await frameworkLogger.log('-git-hook-trigger', '-post-commit-validation-passed-in-result-duration-', 'success', { message: '✅ Post-commit: Validation passed in ' + result.duration + 'ms' });
99
99
  } catch (error) {
100
- console.error(' Post-commit validation failed:', error instanceof Error ? error.message : String(error));
100
+ await frameworkLogger.log('git-hook-trigger', 'post-commit-validation-failed', 'error', { error: error instanceof Error ? error.message : String(error) });
101
101
  process.exit(1);
102
102
  }
103
103
  })();
@@ -115,16 +115,72 @@ fi
115
115
  try {
116
116
  // Use dynamic import that works in both dev and consumer
117
117
  const basePath = process.env.STRRAY_BASE_PATH || '.';
118
+ // First archive logs (compress and rotate) before cleanup
119
+ const { archiveLogFiles } = await import(basePath + '/dist/postprocessor/triggers/GitHookTrigger.js');
120
+ const archiveResult = await archiveLogFiles({
121
+ archiveDirectory: 'logs/framework',
122
+ maxFileSizeMB: 10, // Archive if > 10MB
123
+ rotationIntervalHours: 24, // Archive if > 24 hours old
124
+ compressionEnabled: true,
125
+ maxAgeHours: 168, // Keep archives for 7 days
126
+ directories: ['logs/framework'],
127
+ excludePatterns: []
128
+ });
129
+ if (archiveResult.archived > 0) {
130
+ await frameworkLogger.log('-git-hook-trigger', '-archived-log-files-', 'info', { message: `📦 Archived ${archiveResult.archived} log files` });
131
+ }
132
+
133
+ // Then cleanup old files
118
134
  const { cleanupLogFiles } = await import(basePath + '/dist/postprocessor/triggers/GitHookTrigger.js');
119
135
  const result = await cleanupLogFiles({
120
136
  maxAgeHours: 24,
121
- excludePatterns: ['logs/framework/activity.log', 'logs/agents/refactoring-log.md', 'current-session.log'],
137
+ excludePatterns: [
138
+ // Core inference/logging - NEVER DELETE
139
+ 'activity.log',
140
+ 'framework-activity-',
141
+ 'strray-plugin-',
142
+
143
+ // Analysis & reflections - Contains inference data
144
+ 'kernel-',
145
+ 'reflection-',
146
+
147
+ // Documentation & plans - Important artifacts
148
+ '.md',
149
+ 'AUTOMATED_',
150
+ 'REFACTORING-',
151
+ 'release-',
152
+
153
+ // Subdirectories with important data (but test-activity should be cleaned)
154
+ 'deployment/',
155
+ 'monitoring/',
156
+ 'reports/',
157
+ 'reflections/',
158
+
159
+ // Init logs can be cleaned but keep recent
160
+ 'strray-init-2026-01-2', // Keep Jan 20s
161
+ 'strray-init-2026-01-3', // Keep Jan 30s
162
+
163
+ // Other important files
164
+ 'current-session.log',
165
+ 'full-test-run.log',
166
+ 'kernel-codex',
167
+ 'kernel-methodology',
168
+ 'kernel-status',
169
+ 'kernel-update',
170
+ 'kernel-v2',
171
+ ],
122
172
  directories: ['logs/'],
123
173
  enabled: true
124
174
  });
125
175
  if (result.cleaned > 0) {
126
- await frameworkLogger.log('-git-hook-trigger', '-cleaned-result-cleaned-old-log-files-', 'info', { message: `🧹 Cleaned ${result.cleaned} old log files` });
176
+ await frameworkLogger.log('-git-hook-trigger', '-cleaned-result-cleaned-old-log-files-', 'info', { message: '🧹 Cleaned ' + result.cleaned + ' old log files' });
127
177
  }
178
+ if (result.errors.length > 0) {
179
+ await frameworkLogger.log('git-hook-trigger', 'log-cleanup-errors', 'error', { errors: result.errors });
180
+ }
181
+ } catch (error) {
182
+ await frameworkLogger.log('git-hook-trigger', 'log-cleanup-failed', 'error', { error: error instanceof Error ? error.message : String(error) });
183
+ }
128
184
  if (result.errors.length > 0) {
129
185
  console.error('Log cleanup errors:', result.errors);
130
186
  }
@@ -1,129 +1,172 @@
1
1
  #!/bin/bash
2
- # StrRay Post-Processor post-commit Hook
3
- # Automatically triggers post-processor after commit
4
- # Suggests reflection writing for significant changes
5
-
6
- set -e
2
+ # StringRay Post-Processor post-commit Hook
3
+ # Automatically triggers post-processor after post-commit
7
4
 
5
+ # Get hook type from script name
8
6
  HOOK_NAME=$(basename "$0")
9
- COMMIT_SHA=$(git rev-parse HEAD)
10
- BRANCH=$(git rev-parse --abbrev-ref HEAD)
11
- AUTHOR=$(git log -1 --pretty=format:'%an <%ae>')
7
+ COMMIT_SHA=""
8
+
9
+ if [ "$HOOK_NAME" = "post-commit" ]; then
10
+ # Light monitoring for local commits - just basic validation
11
+ COMMIT_SHA=$(git rev-parse HEAD)
12
+ MONITORING_LEVEL="basic"
13
+ elif [ "$HOOK_NAME" = "post-push" ]; then
14
+ # Full monitoring for pushes - comprehensive validation
15
+ # For push hooks, we need to parse the pushed refs from stdin
16
+ while read local_ref local_sha remote_ref remote_sha; do
17
+ if [ "$local_sha" != "0000000000000000000000000000000000000000" ]; then
18
+ COMMIT_SHA=$local_sha
19
+ break
20
+ fi
21
+ done
22
+ MONITORING_LEVEL="full"
23
+ else
24
+ COMMIT_SHA=$(git rev-parse HEAD)
25
+ MONITORING_LEVEL="basic"
26
+ fi
12
27
 
13
28
  if [ -z "$COMMIT_SHA" ]; then
29
+ echo "Warning: Could not determine commit SHA for post-processor"
14
30
  exit 0
15
31
  fi
16
32
 
17
- # Get changed files
18
- FILES=$(git diff --name-only HEAD~1 2>/dev/null || git diff --name-only --cached)
19
-
20
- # Get commit message for reflection decision
21
- COMMIT_MSG=$(git log -1 --pretty=format:'%s')
22
-
23
- # Check if this commit warrants reflection
24
- # (debugging, bug fixes, path issues, significant changes)
25
- REFLECTION_TRIGGERS="debug|fix|bug|path|mcp|consumer|installation|reflection"
26
- if echo "$COMMIT_MSG" | grep -qiE "$REFLECTION_TRIGGERS"; then
27
- echo "📝 Reflection Suggestion: This commit appears to involve debugging, fixes, or significant changes."
28
- echo " Consider writing a reflection using the template at docs/reflections/TEMPLATE.md"
29
- echo ""
30
- fi
31
-
32
- # Check for new reflection files and validate them
33
- NEW_REFLECTIONS=$(git diff --name-only HEAD~1 2>/dev/null | grep "^docs/reflections/.*\.md$" | grep -v "TEMPLATE.md" || true)
34
- if [ -n "$NEW_REFLECTIONS" ]; then
35
- echo "🔍 Validating new reflection files..."
36
- for ref in $NEW_REFLECTIONS; do
37
- if [ -f "$ref" ]; then
38
- if bash scripts/node/reflection-check.sh "$ref" 2>/dev/null; then
39
- echo " ✅ $ref passes template validation"
40
- else
41
- echo " ❌ $ref FAILED template validation"
42
- echo " 📖 Read the template: docs/reflections/TEMPLATE.md"
43
- echo " ⚠️ Please fix the reflection to match the template before committing"
44
- fi
45
- fi
46
- done
47
- echo ""
48
- fi
33
+ # Get repository info
34
+ REPO="strray-framework/stringray" # Placeholder for now
35
+ BRANCH=$(git rev-parse --abbrev-ref HEAD)
36
+ AUTHOR=$(git log -1 --pretty=format:'%an <%ae>')
49
37
 
50
- # Check if AGENTS.md was modified and validate it
51
- AGENTS_MODIFIED=$(git diff --name-only HEAD~1 2>/dev/null | grep "^AGENTS.md$" || true)
52
- if [ -n "$AGENTS_MODIFIED" ]; then
53
- echo "🔍 Validating AGENTS.md..."
54
- if [ -f "AGENTS.md" ]; then
55
- # Check required sections
56
- ERRORS=0
57
- for section in "## Available Agents" "## Complexity Routing" "## CLI Commands" "## Codex"; do
58
- if grep -q "$section" AGENTS.md; then
59
- echo " ✅ Contains: $section"
60
- else
61
- echo " ❌ Missing: $section"
62
- ERRORS=$((ERRORS + 1))
63
- fi
64
- done
65
-
66
- # Check agent count
67
- AGENT_COUNT=$(grep -o '@[a-z-]*' AGENTS.md | wc -l)
68
- if [ "$AGENT_COUNT" -ge 15 ]; then
69
- echo " ✅ Agent count: $AGENT_COUNT (recommended: 20+)"
70
- else
71
- echo " ⚠️ Agent count: $AGENT_COUNT (recommended: 20+)"
72
- fi
73
-
74
- if [ "$ERRORS" -gt 0 ]; then
75
- echo " ⚠️ AGENTS.md has $ERRORS missing required sections"
76
- echo " 📖 See AGENTS.md in root for current format"
77
- else
78
- echo " ✅ AGENTS.md validation passed"
79
- fi
80
- else
81
- echo " ❌ AGENTS.md not found"
82
- fi
83
- echo ""
38
+ # Get changed files (different logic for commit vs push)
39
+ if [ "$HOOK_NAME" = "post-commit" ]; then
40
+ FILES=$(git diff --name-only HEAD~1 2>/dev/null || git diff --name-only --cached)
41
+ else
42
+ FILES=$(git log --name-only --oneline -1 $COMMIT_SHA | tail -n +2)
84
43
  fi
85
44
 
86
- # For consumer projects, always use the full node_modules path to avoid symlink issues
87
- # This ensures imports resolve correctly
88
- STRRAY_PATH=""
89
- for pkg in "strray-ai" "strray-framework"; do
90
- if [ -d "node_modules/$pkg/dist" ]; then
91
- STRRAY_PATH="node_modules/$pkg"
92
- break
45
+ # Trigger post-processor asynchronously (don't block git operations)
46
+ (
47
+ cd "$(dirname "$0")/../.." # Navigate to project root
48
+
49
+ # Find the StringRay plugin in node_modules or current project (development)
50
+ STRRAY_PLUGIN=""
51
+ if [ -d "node_modules/strray-framework" ]; then
52
+ STRRAY_PLUGIN="node_modules/strray-framework"
53
+ elif [ -d "node_modules/@strray/strray-framework" ]; then
54
+ STRRAY_PLUGIN="node_modules/@strray/strray-framework"
55
+ elif [ -d "node_modules/OpenCode/plugins/strray-framework" ]; then
56
+ STRRAY_PLUGIN="node_modules/OpenCode/plugins/strray-framework"
57
+ elif [ -f "dist/postprocessor/PostProcessor.js" ]; then
58
+ # Development mode - use current project
59
+ STRRAY_PLUGIN="."
93
60
  fi
94
- done
95
61
 
96
- if [ -z "$STRRAY_PATH" ]; then
97
- # Fallback to local dist for development
98
- if [ -d "dist" ]; then
99
- STRRAY_PATH="."
62
+ if command -v node >/dev/null 2>&1 && [ -n "$STRRAY_PLUGIN" ]; then
63
+ # Call a separate script to avoid bash variable issues
64
+ export COMMIT_SHA="$COMMIT_SHA"
65
+ export REPO="$REPO"
66
+ export BRANCH="$BRANCH"
67
+ export AUTHOR="$AUTHOR"
68
+ export STRRAY_PLUGIN="$STRRAY_PLUGIN"
69
+ export MONITORING_LEVEL="$MONITORING_LEVEL"
70
+ export IS_FULL_MONITORING="$([ "$MONITORING_LEVEL" = "full" ] && echo "true" || echo "false")"
71
+
72
+ # Run appropriate monitoring based on hook type
73
+ if [ "$HOOK_NAME" = "post-commit" ]; then
74
+ # LIGHT MONITORING: Quick validation, don't block git workflow
75
+ # Timeout: 2 seconds max, log metrics for monitoring
76
+ START_TIME=$(date +%s)
77
+ timeout 2 node -e "
78
+ (async () => {
79
+ try {
80
+ // Use import resolver to avoid hardcoded dist paths
81
+ const { importResolver } = await import('./utils/import-resolver.js');
82
+ const { LightweightValidator } = await importResolver.importModule('postprocessor/validation/LightweightValidator');
83
+
84
+ const validator = new LightweightValidator();
85
+ const result = await validator.validate();
86
+
87
+ if (result.warnings.length > 0) {
88
+ await frameworkLogger.log('-git-hook-trigger', '-result-warnings-length-warning-s-found-', 'info', { message: '⚠️ ' + result.warnings.length + ' warning(s) found:' });
89
+ result.warnings.forEach(w => await frameworkLogger.log('-git-hook-trigger', '-w-', 'info', { message: ' ' + w) });
90
+ }
91
+
92
+ if (!result.passed) {
93
+ await frameworkLogger.log('-git-hook-trigger', '-result-errors-length-error-s-found-', 'error', { message: '❌ ' + result.errors.length + ' error(s) found:' });
94
+ result.errors.forEach(e => await frameworkLogger.log('-git-hook-trigger', '-e-', 'info', { message: ' ' + e) });
95
+ process.exit(1);
96
+ }
97
+
98
+ await frameworkLogger.log('-git-hook-trigger', '-post-commit-validation-passed-in-result-duration-', 'success', { message: '✅ Post-commit: Validation passed in ' + result.duration + 'ms' });
99
+ } catch (error) {
100
+ console.error('❌ Post-commit validation failed:', error instanceof Error ? error.message : String(error));
101
+ process.exit(1);
102
+ }
103
+ })();
104
+ " 2>/dev/null
105
+ EXIT_CODE=$?
106
+ END_TIME=$(date +%s)
107
+ DURATION=$((END_TIME - START_TIME))
108
+
109
+ # Log metrics for monitoring (convert to milliseconds)
110
+ DURATION_MS=$((DURATION * 1000))
111
+ # LOG CLEANUP: Remove old log files after validation
112
+ # Use relative path from CWD - works in both dev and consumer
113
+ node -e "
114
+ (async () => {
115
+ try {
116
+ // Use dynamic import that works in both dev and consumer
117
+ const basePath = process.env.STRRAY_BASE_PATH || '.';
118
+ const { cleanupLogFiles } = await import(basePath + '/dist/postprocessor/triggers/GitHookTrigger.js');
119
+ const result = await cleanupLogFiles({
120
+ maxAgeHours: 24,
121
+ excludePatterns: ['logs/framework/activity.log', 'logs/agents/refactoring-log.md', 'current-session.log'],
122
+ directories: ['logs/'],
123
+ enabled: true
124
+ });
125
+ if (result.cleaned > 0) {
126
+ await frameworkLogger.log('-git-hook-trigger', '-cleaned-result-cleaned-old-log-files-', 'info', { message: `🧹 Cleaned ${result.cleaned} old log files` });
127
+ }
128
+ if (result.errors.length > 0) {
129
+ console.error('Log cleanup errors:', result.errors);
130
+ }
131
+ } catch (error) {
132
+ console.error('Log cleanup failed:', error.message);
133
+ }
134
+ })();
135
+ "
136
+
137
+ echo "HOOK_METRICS: post-commit duration=${DURATION_MS}ms exit_code=${EXIT_CODE}" >&2
138
+ collector.recordMetrics('post-commit', ${DURATION_MS}, ${EXIT_CODE});
139
+ " 2>/dev/null
140
+ EXIT_CODE=$?
141
+ END_TIME=$(date +%s)
142
+ DURATION=$((END_TIME - START_TIME))
143
+
144
+ # Log comprehensive metrics for monitoring (convert to milliseconds)
145
+ DURATION_MS=$((DURATION * 1000))
146
+ echo "HOOK_METRICS: post-push duration=${DURATION_MS}ms exit_code=${EXIT_CODE}" >&2
147
+
148
+ # Record metrics using metrics collector (direct import for reliability)
149
+ # Use environment variable for base path - works in both dev and consumer
150
+ node -e "
151
+ (async () => {
152
+ try {
153
+ const basePath = process.env.STRRAY_BASE_PATH || '.';
154
+ const distPath = process.env.STRRAY_DIST_PATH || 'dist';
155
+ const { HookMetricsCollector } = await import(basePath + '/' + distPath + '/postprocessor/validation/HookMetricsCollector.js');
156
+ const collector = new HookMetricsCollector();
157
+ collector.recordMetrics('post-push', ${DURATION_MS}, ${EXIT_CODE});
158
+ } catch (error) {
159
+ // Silently fail if metrics collection fails
160
+ }
161
+ })();
162
+ " 2>/dev/null || true
163
+
164
+ [ $EXIT_CODE -eq 0 ] && exit 0 || exit 1
165
+ fi
100
166
  else
101
- exit 0
167
+ echo "Warning: StringRay plugin not found or Node.js not available, skipping post-processor"
102
168
  fi
103
- fi
104
-
105
- # Run post-processor in background with Node.js
106
- node --input-type=module << EOF &>/dev/null || true
107
- import { PostProcessor } from './$STRRAY_PATH/dist/postprocessor/PostProcessor.js';
108
- import { StrRayStateManager } from './$STRRAY_PATH/dist/state/state-manager.js';
109
-
110
- const stateManager = new StrRayStateManager();
111
- const postProcessor = new PostProcessor(stateManager, null, {
112
- reporting: { enabled: false }
113
- });
114
-
115
- const files = \`$FILES\`.split('\n').filter(f => f.endsWith('.ts') && !f.includes('.test.'));
116
-
117
- await postProcessor.executePostProcessorLoop({
118
- commitSha: '$COMMIT_SHA',
119
- repository: 'strray-framework/stringray',
120
- branch: '$BRANCH',
121
- author: '$AUTHOR',
122
- files: files,
123
- trigger: 'git-hook'
124
- });
125
-
126
- console.log('Post-processor completed for', files.length, 'files');
127
- EOF
169
+ )
128
170
 
171
+ # Don't wait for background process
129
172
  exit 0
@@ -97,7 +97,7 @@ fi
97
97
 
98
98
  await frameworkLogger.log('-git-hook-trigger', '-post-commit-validation-passed-in-result-duration-', 'success', { message: '✅ Post-commit: Validation passed in ' + result.duration + 'ms' });
99
99
  } catch (error) {
100
- console.error(' Post-commit validation failed:', error instanceof Error ? error.message : String(error));
100
+ await frameworkLogger.log('git-hook-trigger', 'post-commit-validation-failed', 'error', { error: error instanceof Error ? error.message : String(error) });
101
101
  process.exit(1);
102
102
  }
103
103
  })();
@@ -115,16 +115,72 @@ fi
115
115
  try {
116
116
  // Use dynamic import that works in both dev and consumer
117
117
  const basePath = process.env.STRRAY_BASE_PATH || '.';
118
+ // First archive logs (compress and rotate) before cleanup
119
+ const { archiveLogFiles } = await import(basePath + '/dist/postprocessor/triggers/GitHookTrigger.js');
120
+ const archiveResult = await archiveLogFiles({
121
+ archiveDirectory: 'logs/framework',
122
+ maxFileSizeMB: 10, // Archive if > 10MB
123
+ rotationIntervalHours: 24, // Archive if > 24 hours old
124
+ compressionEnabled: true,
125
+ maxAgeHours: 168, // Keep archives for 7 days
126
+ directories: ['logs/framework'],
127
+ excludePatterns: []
128
+ });
129
+ if (archiveResult.archived > 0) {
130
+ await frameworkLogger.log('-git-hook-trigger', '-archived-log-files-', 'info', { message: `📦 Archived ${archiveResult.archived} log files` });
131
+ }
132
+
133
+ // Then cleanup old files
118
134
  const { cleanupLogFiles } = await import(basePath + '/dist/postprocessor/triggers/GitHookTrigger.js');
119
135
  const result = await cleanupLogFiles({
120
136
  maxAgeHours: 24,
121
- excludePatterns: ['logs/framework/activity.log', 'logs/agents/refactoring-log.md', 'current-session.log'],
137
+ excludePatterns: [
138
+ // Core inference/logging - NEVER DELETE
139
+ 'activity.log',
140
+ 'framework-activity-',
141
+ 'strray-plugin-',
142
+
143
+ // Analysis & reflections - Contains inference data
144
+ 'kernel-',
145
+ 'reflection-',
146
+
147
+ // Documentation & plans - Important artifacts
148
+ '.md',
149
+ 'AUTOMATED_',
150
+ 'REFACTORING-',
151
+ 'release-',
152
+
153
+ // Subdirectories with important data (but test-activity should be cleaned)
154
+ 'deployment/',
155
+ 'monitoring/',
156
+ 'reports/',
157
+ 'reflections/',
158
+
159
+ // Init logs can be cleaned but keep recent
160
+ 'strray-init-2026-01-2', // Keep Jan 20s
161
+ 'strray-init-2026-01-3', // Keep Jan 30s
162
+
163
+ // Other important files
164
+ 'current-session.log',
165
+ 'full-test-run.log',
166
+ 'kernel-codex',
167
+ 'kernel-methodology',
168
+ 'kernel-status',
169
+ 'kernel-update',
170
+ 'kernel-v2',
171
+ ],
122
172
  directories: ['logs/'],
123
173
  enabled: true
124
174
  });
125
175
  if (result.cleaned > 0) {
126
- await frameworkLogger.log('-git-hook-trigger', '-cleaned-result-cleaned-old-log-files-', 'info', { message: `🧹 Cleaned ${result.cleaned} old log files` });
176
+ await frameworkLogger.log('-git-hook-trigger', '-cleaned-result-cleaned-old-log-files-', 'info', { message: '🧹 Cleaned ' + result.cleaned + ' old log files' });
127
177
  }
178
+ if (result.errors.length > 0) {
179
+ await frameworkLogger.log('git-hook-trigger', 'log-cleanup-errors', 'error', { errors: result.errors });
180
+ }
181
+ } catch (error) {
182
+ await frameworkLogger.log('git-hook-trigger', 'log-cleanup-failed', 'error', { error: error instanceof Error ? error.message : String(error) });
183
+ }
128
184
  if (result.errors.length > 0) {
129
185
  console.error('Log cleanup errors:', result.errors);
130
186
  }