agentic-qe 3.7.8 → 3.7.9

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 (285) hide show
  1. package/.claude/skills/debug-loop/SKILL.md +1 -1
  2. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  3. package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -0
  4. package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  5. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  6. package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -0
  7. package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  8. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  9. package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -0
  10. package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  11. package/.claude/skills/pr-review/SKILL.md +1 -1
  12. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  13. package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  14. package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  15. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  16. package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -0
  17. package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  18. package/.claude/skills/skills-manifest.json +1 -1
  19. package/.claude/skills/trust-tier-manifest.json +78 -7
  20. package/CHANGELOG.md +20 -0
  21. package/assets/skills/a11y-ally/SKILL.md +1664 -1658
  22. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
  23. package/assets/skills/a11y-ally/schemas/output.json +549 -0
  24. package/assets/skills/a11y-ally/scripts/validate-config.json +42 -0
  25. package/assets/skills/brutal-honesty-review/SKILL.md +5 -0
  26. package/assets/skills/brutal-honesty-review/schemas/output.json +291 -0
  27. package/assets/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  28. package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +1 -1
  29. package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
  30. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
  31. package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
  32. package/assets/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  33. package/assets/skills/debug-loop/SKILL.md +1 -1
  34. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  35. package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -0
  36. package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  37. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  38. package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -0
  39. package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  40. package/assets/skills/n8n-expression-testing/SKILL.md +6 -0
  41. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
  42. package/assets/skills/n8n-expression-testing/schemas/output.json +369 -0
  43. package/assets/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  44. package/assets/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
  45. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
  46. package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
  47. package/assets/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  48. package/assets/skills/n8n-security-testing/SKILL.md +6 -0
  49. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
  50. package/assets/skills/n8n-security-testing/schemas/output.json +293 -0
  51. package/assets/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  52. package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
  53. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
  54. package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
  55. package/assets/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  56. package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
  57. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
  58. package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
  59. package/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  60. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  61. package/assets/skills/observability-testing-patterns/schemas/output.json +58 -0
  62. package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  63. package/assets/skills/pentest-validation/scripts/validate-config.json +12 -0
  64. package/assets/skills/pr-review/SKILL.md +1 -1
  65. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  66. package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  67. package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  68. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  69. package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -0
  70. package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  71. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  72. package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
  73. package/assets/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  74. package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -0
  75. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -0
  76. package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -0
  77. package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -0
  78. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +139 -0
  79. package/assets/skills/qcsd-refinement-swarm/schemas/output.json +811 -0
  80. package/assets/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  81. package/assets/skills/security-visual-testing/scripts/validate-config.json +45 -0
  82. package/assets/skills/sherlock-review/SKILL.md +5 -0
  83. package/assets/skills/sherlock-review/schemas/output.json +297 -0
  84. package/assets/skills/sherlock-review/scripts/validate-config.json +35 -0
  85. package/assets/skills/testability-scoring/SKILL.md +5 -0
  86. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
  87. package/assets/skills/testability-scoring/schemas/output.json +606 -0
  88. package/assets/skills/testability-scoring/scripts/validate-config.json +42 -0
  89. package/assets/skills/trust-tier-manifest.json +2404 -0
  90. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  91. package/assets/skills/wms-testing-patterns/schemas/output.json +150 -0
  92. package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  93. package/dist/benchmarks/performance-benchmarks.js +1 -1
  94. package/dist/cli/bundle.js +9130 -2283
  95. package/dist/cli/commands/hooks.d.ts.map +1 -1
  96. package/dist/cli/commands/hooks.js +92 -0
  97. package/dist/cli/commands/hooks.js.map +1 -1
  98. package/dist/cli/commands/migrate.js +2 -2
  99. package/dist/coordination/constants.d.ts +1 -1
  100. package/dist/coordination/constants.js +1 -1
  101. package/dist/coordination/handlers/coverage-handlers.js +1 -1
  102. package/dist/coordination/handlers/coverage-handlers.js.map +1 -1
  103. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +1 -1
  104. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -1
  105. package/dist/domains/code-intelligence/services/semantic-analyzer.js +1 -1
  106. package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -1
  107. package/dist/domains/coverage-analysis/coordinator.js +1 -1
  108. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  109. package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
  110. package/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
  111. package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  112. package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  113. package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +2 -2
  114. package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -3
  115. package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
  116. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
  117. package/dist/domains/test-execution/services/test-prioritizer.js +1 -1
  118. package/dist/domains/test-generation/context/rust-context-builder.d.ts +31 -0
  119. package/dist/domains/test-generation/context/rust-context-builder.d.ts.map +1 -0
  120. package/dist/domains/test-generation/context/rust-context-builder.js +27 -0
  121. package/dist/domains/test-generation/context/rust-context-builder.js.map +1 -0
  122. package/dist/domains/test-generation/coordinator.js +3 -3
  123. package/dist/domains/test-generation/coordinator.js.map +1 -1
  124. package/dist/domains/test-generation/detectors/mobile-detector.d.ts +41 -0
  125. package/dist/domains/test-generation/detectors/mobile-detector.d.ts.map +1 -0
  126. package/dist/domains/test-generation/detectors/mobile-detector.js +111 -0
  127. package/dist/domains/test-generation/detectors/mobile-detector.js.map +1 -0
  128. package/dist/domains/test-generation/detectors/spring-detector.d.ts +22 -0
  129. package/dist/domains/test-generation/detectors/spring-detector.d.ts.map +1 -0
  130. package/dist/domains/test-generation/detectors/spring-detector.js +37 -0
  131. package/dist/domains/test-generation/detectors/spring-detector.js.map +1 -0
  132. package/dist/domains/test-generation/factories/test-generator-factory.d.ts +2 -1
  133. package/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
  134. package/dist/domains/test-generation/factories/test-generator-factory.js +33 -13
  135. package/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
  136. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts +107 -0
  137. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts.map +1 -0
  138. package/dist/domains/test-generation/generators/flutter-test-generator.js +590 -0
  139. package/dist/domains/test-generation/generators/flutter-test-generator.js.map +1 -0
  140. package/dist/domains/test-generation/generators/go-test-generator.d.ts +139 -0
  141. package/dist/domains/test-generation/generators/go-test-generator.d.ts.map +1 -0
  142. package/dist/domains/test-generation/generators/go-test-generator.js +654 -0
  143. package/dist/domains/test-generation/generators/go-test-generator.js.map +1 -0
  144. package/dist/domains/test-generation/generators/index.d.ts +8 -0
  145. package/dist/domains/test-generation/generators/index.d.ts.map +1 -1
  146. package/dist/domains/test-generation/generators/index.js +8 -0
  147. package/dist/domains/test-generation/generators/index.js.map +1 -1
  148. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts +95 -0
  149. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts.map +1 -0
  150. package/dist/domains/test-generation/generators/jest-rn-generator.js +591 -0
  151. package/dist/domains/test-generation/generators/jest-rn-generator.js.map +1 -0
  152. package/dist/domains/test-generation/generators/junit5-generator.d.ts +107 -0
  153. package/dist/domains/test-generation/generators/junit5-generator.d.ts.map +1 -0
  154. package/dist/domains/test-generation/generators/junit5-generator.js +588 -0
  155. package/dist/domains/test-generation/generators/junit5-generator.js.map +1 -0
  156. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts +109 -0
  157. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts.map +1 -0
  158. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +588 -0
  159. package/dist/domains/test-generation/generators/kotlin-junit-generator.js.map +1 -0
  160. package/dist/domains/test-generation/generators/pytest-generator.d.ts +8 -1
  161. package/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  162. package/dist/domains/test-generation/generators/pytest-generator.js +57 -0
  163. package/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  164. package/dist/domains/test-generation/generators/rust-test-generator.d.ts +80 -0
  165. package/dist/domains/test-generation/generators/rust-test-generator.d.ts.map +1 -0
  166. package/dist/domains/test-generation/generators/rust-test-generator.js +442 -0
  167. package/dist/domains/test-generation/generators/rust-test-generator.js.map +1 -0
  168. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts +97 -0
  169. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts.map +1 -0
  170. package/dist/domains/test-generation/generators/swift-testing-generator.js +482 -0
  171. package/dist/domains/test-generation/generators/swift-testing-generator.js.map +1 -0
  172. package/dist/domains/test-generation/generators/xunit-generator.d.ts +110 -0
  173. package/dist/domains/test-generation/generators/xunit-generator.d.ts.map +1 -0
  174. package/dist/domains/test-generation/generators/xunit-generator.js +611 -0
  175. package/dist/domains/test-generation/generators/xunit-generator.js.map +1 -0
  176. package/dist/domains/test-generation/interfaces.d.ts +11 -2
  177. package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  178. package/dist/domains/test-generation/prompts/language-prompts.d.ts +29 -0
  179. package/dist/domains/test-generation/prompts/language-prompts.d.ts.map +1 -0
  180. package/dist/domains/test-generation/prompts/language-prompts.js +135 -0
  181. package/dist/domains/test-generation/prompts/language-prompts.js.map +1 -0
  182. package/dist/domains/test-generation/services/compilation-validator.d.ts +43 -0
  183. package/dist/domains/test-generation/services/compilation-validator.d.ts.map +1 -0
  184. package/dist/domains/test-generation/services/compilation-validator.js +134 -0
  185. package/dist/domains/test-generation/services/compilation-validator.js.map +1 -0
  186. package/dist/domains/test-generation/services/index.d.ts +2 -1
  187. package/dist/domains/test-generation/services/index.d.ts.map +1 -1
  188. package/dist/domains/test-generation/services/index.js +3 -1
  189. package/dist/domains/test-generation/services/index.js.map +1 -1
  190. package/dist/domains/test-generation/services/test-file-resolver.d.ts +32 -0
  191. package/dist/domains/test-generation/services/test-file-resolver.d.ts.map +1 -0
  192. package/dist/domains/test-generation/services/test-file-resolver.js +159 -0
  193. package/dist/domains/test-generation/services/test-file-resolver.js.map +1 -0
  194. package/dist/domains/test-generation/services/test-generator.d.ts +10 -0
  195. package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  196. package/dist/domains/test-generation/services/test-generator.js +87 -10
  197. package/dist/domains/test-generation/services/test-generator.js.map +1 -1
  198. package/dist/governance/feature-flags.js +2 -2
  199. package/dist/governance/feature-flags.js.map +1 -1
  200. package/dist/governance/shard-embeddings.js +1 -1
  201. package/dist/init/init-wizard-hooks.d.ts.map +1 -1
  202. package/dist/init/init-wizard-hooks.js +0 -1
  203. package/dist/init/init-wizard-hooks.js.map +1 -1
  204. package/dist/init/phases/07-hooks.d.ts.map +1 -1
  205. package/dist/init/phases/07-hooks.js +0 -2
  206. package/dist/init/phases/07-hooks.js.map +1 -1
  207. package/dist/init/phases/08-mcp.d.ts +8 -4
  208. package/dist/init/phases/08-mcp.d.ts.map +1 -1
  209. package/dist/init/phases/08-mcp.js +13 -31
  210. package/dist/init/phases/08-mcp.js.map +1 -1
  211. package/dist/init/phases/10-workers.js +2 -2
  212. package/dist/init/phases/10-workers.js.map +1 -1
  213. package/dist/init/settings-merge.d.ts.map +1 -1
  214. package/dist/init/settings-merge.js +0 -2
  215. package/dist/init/settings-merge.js.map +1 -1
  216. package/dist/init/token-bootstrap.js +1 -1
  217. package/dist/init/token-bootstrap.js.map +1 -1
  218. package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
  219. package/dist/kernel/constants.d.ts +2 -2
  220. package/dist/kernel/constants.js +2 -2
  221. package/dist/kernel/hnsw-adapter.js +1 -1
  222. package/dist/kernel/progressive-hnsw-backend.d.ts +2 -2
  223. package/dist/kernel/progressive-hnsw-backend.js +2 -2
  224. package/dist/learning/dream/concept-graph.d.ts +1 -1
  225. package/dist/learning/dream/concept-graph.js +1 -1
  226. package/dist/learning/dream/dream-engine.d.ts +1 -1
  227. package/dist/learning/dream/dream-engine.js +1 -1
  228. package/dist/learning/dream/index.d.ts +1 -1
  229. package/dist/learning/dream/index.js +1 -1
  230. package/dist/learning/dream/types.d.ts +1 -1
  231. package/dist/learning/dream/types.d.ts.map +1 -1
  232. package/dist/learning/dream/types.js +1 -1
  233. package/dist/learning/dream/types.js.map +1 -1
  234. package/dist/learning/token-tracker.js +1 -1
  235. package/dist/learning/token-tracker.js.map +1 -1
  236. package/dist/mcp/bundle.js +7515 -893
  237. package/dist/routing/qe-agent-registry.js +4 -4
  238. package/dist/routing/qe-agent-registry.js.map +1 -1
  239. package/dist/routing/types.d.ts +5 -8
  240. package/dist/routing/types.d.ts.map +1 -1
  241. package/dist/routing/types.js.map +1 -1
  242. package/dist/shared/embeddings/embedding-cache.js +2 -2
  243. package/dist/shared/embeddings/index.d.ts +2 -2
  244. package/dist/shared/embeddings/index.js +2 -2
  245. package/dist/shared/embeddings/nomic-embedder.d.ts +4 -4
  246. package/dist/shared/embeddings/nomic-embedder.js +2 -2
  247. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  248. package/dist/shared/embeddings/ollama-client.js +2 -2
  249. package/dist/shared/embeddings/ollama-client.js.map +1 -1
  250. package/dist/shared/embeddings/types.d.ts +2 -2
  251. package/dist/shared/embeddings/types.js +2 -2
  252. package/dist/shared/language-detector.d.ts +46 -0
  253. package/dist/shared/language-detector.d.ts.map +1 -0
  254. package/dist/shared/language-detector.js +183 -0
  255. package/dist/shared/language-detector.js.map +1 -0
  256. package/dist/shared/llm/providers/ollama.js +1 -1
  257. package/dist/shared/metrics/code-metrics.d.ts.map +1 -1
  258. package/dist/shared/metrics/code-metrics.js +24 -1
  259. package/dist/shared/metrics/code-metrics.js.map +1 -1
  260. package/dist/shared/parsers/index.d.ts +2 -0
  261. package/dist/shared/parsers/index.d.ts.map +1 -1
  262. package/dist/shared/parsers/index.js +2 -0
  263. package/dist/shared/parsers/index.js.map +1 -1
  264. package/dist/shared/parsers/interfaces.d.ts +81 -0
  265. package/dist/shared/parsers/interfaces.d.ts.map +1 -0
  266. package/dist/shared/parsers/interfaces.js +6 -0
  267. package/dist/shared/parsers/interfaces.js.map +1 -0
  268. package/dist/shared/parsers/multi-language-parser.d.ts +144 -0
  269. package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -0
  270. package/dist/shared/parsers/multi-language-parser.js +1232 -0
  271. package/dist/shared/parsers/multi-language-parser.js.map +1 -0
  272. package/dist/shared/parsers/rust-ownership-analyzer.d.ts +45 -0
  273. package/dist/shared/parsers/rust-ownership-analyzer.d.ts.map +1 -0
  274. package/dist/shared/parsers/rust-ownership-analyzer.js +52 -0
  275. package/dist/shared/parsers/rust-ownership-analyzer.js.map +1 -0
  276. package/dist/shared/parsers/typescript-parser.d.ts +16 -0
  277. package/dist/shared/parsers/typescript-parser.d.ts.map +1 -1
  278. package/dist/shared/parsers/typescript-parser.js +85 -0
  279. package/dist/shared/parsers/typescript-parser.js.map +1 -1
  280. package/dist/shared/types/test-frameworks.d.ts +25 -0
  281. package/dist/shared/types/test-frameworks.d.ts.map +1 -0
  282. package/dist/shared/types/test-frameworks.js +111 -0
  283. package/dist/shared/types/test-frameworks.js.map +1 -0
  284. package/package.json +1 -1
  285. package/scripts/prepare-assets.sh +8 -2
@@ -0,0 +1,369 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentic-qe.dev/schemas/skills/n8n-expression-testing/output.json",
4
+ "title": "N8N Expression Testing Skill Output Schema",
5
+ "description": "Schema for n8n-expression-testing skill output. Validates n8n expression syntax, JavaScript evaluation, and data transformation testing.",
6
+ "type": "object",
7
+ "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
+ "properties": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "const": "n8n-expression-testing"
12
+ },
13
+ "version": {
14
+ "type": "string",
15
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
16
+ },
17
+ "timestamp": {
18
+ "type": "string",
19
+ "format": "date-time"
20
+ },
21
+ "status": {
22
+ "type": "string",
23
+ "enum": ["success", "partial", "failed", "skipped"]
24
+ },
25
+ "trustTier": {
26
+ "type": "integer",
27
+ "const": 3
28
+ },
29
+ "output": {
30
+ "type": "object",
31
+ "required": ["summary", "expressionResults", "nodeTests"],
32
+ "properties": {
33
+ "summary": {
34
+ "type": "string",
35
+ "minLength": 20,
36
+ "maxLength": 2000,
37
+ "description": "Summary of expression testing analysis"
38
+ },
39
+ "expressionResults": {
40
+ "type": "array",
41
+ "items": {
42
+ "$ref": "#/$defs/expressionResult"
43
+ },
44
+ "minItems": 0,
45
+ "maxItems": 500,
46
+ "description": "Results of expression evaluations"
47
+ },
48
+ "nodeTests": {
49
+ "type": "array",
50
+ "items": {
51
+ "$ref": "#/$defs/nodeTest"
52
+ },
53
+ "maxItems": 200,
54
+ "description": "Node-specific test cases"
55
+ },
56
+ "workflowValidation": {
57
+ "$ref": "#/$defs/workflowValidation",
58
+ "description": "Workflow-level validation results"
59
+ },
60
+ "syntaxErrors": {
61
+ "type": "array",
62
+ "items": {
63
+ "$ref": "#/$defs/syntaxError"
64
+ },
65
+ "description": "Expression syntax errors found"
66
+ },
67
+ "dataTransformations": {
68
+ "type": "array",
69
+ "items": {
70
+ "$ref": "#/$defs/dataTransformation"
71
+ },
72
+ "description": "Data transformation test cases"
73
+ },
74
+ "recommendations": {
75
+ "type": "array",
76
+ "items": {
77
+ "$ref": "#/$defs/recommendation"
78
+ },
79
+ "maxItems": 50
80
+ },
81
+ "metrics": {
82
+ "$ref": "#/$defs/metrics"
83
+ }
84
+ }
85
+ },
86
+ "metadata": {
87
+ "$ref": "#/$defs/metadata"
88
+ },
89
+ "validation": {
90
+ "$ref": "#/$defs/validationResult"
91
+ },
92
+ "learning": {
93
+ "$ref": "#/$defs/learningData"
94
+ }
95
+ },
96
+ "$defs": {
97
+ "expressionResult": {
98
+ "type": "object",
99
+ "required": ["id", "expression", "status"],
100
+ "properties": {
101
+ "id": {
102
+ "type": "string",
103
+ "pattern": "^EXPR-\\d{3,6}$"
104
+ },
105
+ "expression": {
106
+ "type": "string",
107
+ "maxLength": 5000,
108
+ "description": "The n8n expression being tested"
109
+ },
110
+ "expressionType": {
111
+ "type": "string",
112
+ "enum": ["simple", "javascript", "template", "function", "mixed"],
113
+ "description": "Type of n8n expression"
114
+ },
115
+ "status": {
116
+ "type": "string",
117
+ "enum": ["valid", "invalid", "warning", "error"]
118
+ },
119
+ "input": {
120
+ "type": "object",
121
+ "description": "Input data for expression evaluation"
122
+ },
123
+ "expectedOutput": {
124
+ "description": "Expected result of expression"
125
+ },
126
+ "actualOutput": {
127
+ "description": "Actual result of expression evaluation"
128
+ },
129
+ "passed": {
130
+ "type": "boolean"
131
+ },
132
+ "errorMessage": {
133
+ "type": "string",
134
+ "maxLength": 1000
135
+ },
136
+ "nodeContext": {
137
+ "type": "string",
138
+ "description": "The node where this expression is used"
139
+ },
140
+ "dataPath": {
141
+ "type": "string",
142
+ "description": "JSON path in workflow data"
143
+ }
144
+ }
145
+ },
146
+ "nodeTest": {
147
+ "type": "object",
148
+ "required": ["nodeId", "nodeName", "nodeType"],
149
+ "properties": {
150
+ "nodeId": {
151
+ "type": "string"
152
+ },
153
+ "nodeName": {
154
+ "type": "string"
155
+ },
156
+ "nodeType": {
157
+ "type": "string",
158
+ "description": "n8n node type (e.g., n8n-nodes-base.set, n8n-nodes-base.code)"
159
+ },
160
+ "expressionCount": {
161
+ "type": "integer",
162
+ "minimum": 0
163
+ },
164
+ "passedExpressions": {
165
+ "type": "integer",
166
+ "minimum": 0
167
+ },
168
+ "failedExpressions": {
169
+ "type": "integer",
170
+ "minimum": 0
171
+ },
172
+ "coverage": {
173
+ "type": "number",
174
+ "minimum": 0,
175
+ "maximum": 100
176
+ },
177
+ "issues": {
178
+ "type": "array",
179
+ "items": {
180
+ "type": "string"
181
+ }
182
+ }
183
+ }
184
+ },
185
+ "workflowValidation": {
186
+ "type": "object",
187
+ "required": ["workflowId", "valid"],
188
+ "properties": {
189
+ "workflowId": {
190
+ "type": "string"
191
+ },
192
+ "workflowName": {
193
+ "type": "string"
194
+ },
195
+ "valid": {
196
+ "type": "boolean"
197
+ },
198
+ "totalNodes": {
199
+ "type": "integer",
200
+ "minimum": 0
201
+ },
202
+ "testedNodes": {
203
+ "type": "integer",
204
+ "minimum": 0
205
+ },
206
+ "totalExpressions": {
207
+ "type": "integer",
208
+ "minimum": 0
209
+ },
210
+ "validExpressions": {
211
+ "type": "integer",
212
+ "minimum": 0
213
+ },
214
+ "invalidExpressions": {
215
+ "type": "integer",
216
+ "minimum": 0
217
+ },
218
+ "overallScore": {
219
+ "type": "number",
220
+ "minimum": 0,
221
+ "maximum": 100
222
+ },
223
+ "grade": {
224
+ "type": "string",
225
+ "pattern": "^[A-F][+-]?$"
226
+ }
227
+ }
228
+ },
229
+ "syntaxError": {
230
+ "type": "object",
231
+ "required": ["expression", "error"],
232
+ "properties": {
233
+ "expression": {
234
+ "type": "string"
235
+ },
236
+ "error": {
237
+ "type": "string"
238
+ },
239
+ "line": {
240
+ "type": "integer",
241
+ "minimum": 1
242
+ },
243
+ "column": {
244
+ "type": "integer",
245
+ "minimum": 1
246
+ },
247
+ "nodeName": {
248
+ "type": "string"
249
+ },
250
+ "severity": {
251
+ "type": "string",
252
+ "enum": ["error", "warning", "info"]
253
+ },
254
+ "suggestion": {
255
+ "type": "string"
256
+ }
257
+ }
258
+ },
259
+ "dataTransformation": {
260
+ "type": "object",
261
+ "required": ["id", "description", "input", "expectedOutput"],
262
+ "properties": {
263
+ "id": {
264
+ "type": "string",
265
+ "pattern": "^TRANS-\\d{3,6}$"
266
+ },
267
+ "description": {
268
+ "type": "string"
269
+ },
270
+ "input": {
271
+ "type": "object"
272
+ },
273
+ "expectedOutput": {},
274
+ "actualOutput": {},
275
+ "expression": {
276
+ "type": "string"
277
+ },
278
+ "passed": {
279
+ "type": "boolean"
280
+ },
281
+ "transformationType": {
282
+ "type": "string",
283
+ "enum": ["map", "filter", "reduce", "split", "merge", "custom"]
284
+ }
285
+ }
286
+ },
287
+ "recommendation": {
288
+ "type": "object",
289
+ "required": ["id", "title", "priority"],
290
+ "properties": {
291
+ "id": {
292
+ "type": "string",
293
+ "pattern": "^REC-\\d{3,6}$"
294
+ },
295
+ "title": {
296
+ "type": "string",
297
+ "maxLength": 200
298
+ },
299
+ "description": {
300
+ "type": "string",
301
+ "maxLength": 2000
302
+ },
303
+ "priority": {
304
+ "type": "string",
305
+ "enum": ["critical", "high", "medium", "low"]
306
+ },
307
+ "category": {
308
+ "type": "string",
309
+ "enum": ["syntax", "performance", "security", "best-practice", "data-handling"]
310
+ },
311
+ "codeExample": {
312
+ "type": "string",
313
+ "maxLength": 5000
314
+ }
315
+ }
316
+ },
317
+ "metrics": {
318
+ "type": "object",
319
+ "properties": {
320
+ "totalExpressions": { "type": "integer", "minimum": 0 },
321
+ "validExpressions": { "type": "integer", "minimum": 0 },
322
+ "invalidExpressions": { "type": "integer", "minimum": 0 },
323
+ "passRate": { "type": "number", "minimum": 0, "maximum": 100 },
324
+ "nodesAnalyzed": { "type": "integer", "minimum": 0 },
325
+ "syntaxErrorCount": { "type": "integer", "minimum": 0 },
326
+ "executionTimeMs": { "type": "integer", "minimum": 0 }
327
+ }
328
+ },
329
+ "metadata": {
330
+ "type": "object",
331
+ "properties": {
332
+ "executionTimeMs": { "type": "integer", "minimum": 0 },
333
+ "toolsUsed": {
334
+ "type": "array",
335
+ "items": { "type": "string" }
336
+ },
337
+ "agentId": {
338
+ "type": "string",
339
+ "pattern": "^qe-[a-z][a-z0-9-]*$"
340
+ },
341
+ "n8nVersion": {
342
+ "type": "string",
343
+ "description": "n8n version being tested against"
344
+ },
345
+ "workflowPath": {
346
+ "type": "string"
347
+ }
348
+ }
349
+ },
350
+ "validationResult": {
351
+ "type": "object",
352
+ "properties": {
353
+ "schemaValid": { "type": "boolean" },
354
+ "contentValid": { "type": "boolean" },
355
+ "confidence": { "type": "number", "minimum": 0, "maximum": 1 }
356
+ }
357
+ },
358
+ "learningData": {
359
+ "type": "object",
360
+ "properties": {
361
+ "patternsDetected": {
362
+ "type": "array",
363
+ "items": { "type": "string" }
364
+ },
365
+ "reward": { "type": "number", "minimum": 0, "maximum": 1 }
366
+ }
367
+ }
368
+ }
369
+ }
@@ -0,0 +1,39 @@
1
+ {
2
+ "skillName": "n8n-expression-testing",
3
+ "skillVersion": "1.0.0",
4
+ "requiredTools": [
5
+ "jq"
6
+ ],
7
+ "optionalTools": [
8
+ "node"
9
+ ],
10
+ "schemaPath": "schemas/output.json",
11
+ "requiredFields": [
12
+ "skillName",
13
+ "status",
14
+ "output",
15
+ "output.summary",
16
+ "output.expressionResults",
17
+ "output.nodeTests"
18
+ ],
19
+ "requiredNonEmptyFields": [
20
+ "output.summary"
21
+ ],
22
+ "mustContainTerms": [
23
+ "expression",
24
+ "n8n"
25
+ ],
26
+ "mustNotContainTerms": [
27
+ "TODO",
28
+ "FIXME",
29
+ "placeholder"
30
+ ],
31
+ "enumValidations": {
32
+ ".status": [
33
+ "success",
34
+ "partial",
35
+ "failed",
36
+ "skipped"
37
+ ]
38
+ }
39
+ }
@@ -11,6 +11,12 @@ last_optimized: 2025-12-15
11
11
  dependencies: []
12
12
  quick_reference_card: true
13
13
  tags: [n8n, integration, api, authentication, oauth, rate-limiting, testing]
14
+ trust_tier: 3
15
+ validation:
16
+ schema_path: schemas/output.json
17
+ validator_path: scripts/validate-config.json
18
+ eval_path: evals/n8n-integration-testing-patterns.yaml
19
+
14
20
  ---
15
21
 
16
22
  # n8n Integration Testing Patterns