@aifabrix/builder 2.50.0 → 2.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/.cursor/plans/157.1-security-quality-violations-by-type.csv +374 -0
  2. package/.cursor/rules/assistant-driven-integration-build.mdc +40 -0
  3. package/integration/hubspot-test/create-hubspot.js +1 -16
  4. package/lib/api/evidence-kinds.api.js +128 -0
  5. package/lib/api/pipeline.api.js +5 -1
  6. package/lib/api/resource-types.api.js +4 -4
  7. package/lib/api/roles.api.js +121 -0
  8. package/lib/api/types/evidence-kinds.types.js +42 -0
  9. package/lib/api/types/roles.types.js +36 -0
  10. package/lib/app/certification-verify-rows.js +1 -1
  11. package/lib/app/show.js +2 -2
  12. package/lib/certification/merge-certification-from-artifact.js +1 -1
  13. package/lib/channels/channel-artifact-generator.js +2 -1
  14. package/lib/cli/index.js +4 -0
  15. package/lib/cli/setup-app.js +22 -5
  16. package/lib/cli/setup-dev.js +23 -7
  17. package/lib/cli/setup-utility-help-after.js +12 -0
  18. package/lib/cli/setup-utility-validate.js +41 -2
  19. package/lib/commands/deploy-gate-failure-details.js +21 -0
  20. package/lib/commands/deploy-gate-orchestrator.js +64 -18
  21. package/lib/commands/dev-cli-handlers.js +6 -3
  22. package/lib/commands/dev-init.js +7 -109
  23. package/lib/commands/dev-refresh.js +197 -0
  24. package/lib/commands/evidence-kind.js +428 -0
  25. package/lib/commands/governance-command-action.js +4 -2
  26. package/lib/commands/repair-openapi-export.js +1 -1
  27. package/lib/commands/repair-openapi-sync.js +14 -6
  28. package/lib/commands/resource-type.js +101 -18
  29. package/lib/commands/role.js +452 -0
  30. package/lib/commands/setup.js +1 -1
  31. package/lib/commands/validate-json.js +230 -0
  32. package/lib/commands/verify-operations-step-plan.js +78 -40
  33. package/lib/core/audit-logger.js +1 -1
  34. package/lib/core/secrets-load.js +1 -3
  35. package/lib/datasource/capability/relate-operations.js +1 -1
  36. package/lib/generator/helpers.js +13 -5
  37. package/lib/generator/split-variables.js +9 -3
  38. package/lib/infrastructure/helpers-docker-check.js +6 -0
  39. package/lib/infrastructure/helpers.js +1 -1
  40. package/lib/programmatic/auth-config.js +3 -2
  41. package/lib/programmatic/bearer-auth.js +1 -1
  42. package/lib/programmatic/enterprise-mcp-client.js +18 -2
  43. package/lib/programmatic/manifest-section-registry.js +18 -1
  44. package/lib/programmatic/openapi-result-schemas.js +28 -11
  45. package/lib/programmatic/openapi-schema-descriptions-core.js +5 -2
  46. package/lib/programmatic/openapi-schema-helpers.js +16 -1
  47. package/lib/programmatic/openapi-spec.js +1 -1
  48. package/lib/programmatic/run-repository-emcp.js +11 -3
  49. package/lib/programmatic/run-template-workspace.js +14 -1
  50. package/lib/resolvers/evidence-kind-file.js +230 -0
  51. package/lib/resolvers/resource-type-file.js +36 -1
  52. package/lib/resolvers/role-file.js +227 -0
  53. package/lib/schema/application-schema.json +22 -2
  54. package/lib/schema/external-datasource.schema.json +85 -2
  55. package/lib/schema/external-system.schema.json +16 -2
  56. package/lib/schema/infra.parameter.yaml +25 -1
  57. package/lib/schema/type/credential-field-registry.json +19 -3
  58. package/lib/utils/api.js +8 -2
  59. package/lib/utils/app-register-config.js +4 -3
  60. package/lib/utils/cli-sync-options.js +59 -3
  61. package/lib/utils/cli-utils.js +11 -3
  62. package/lib/utils/dev-ca-install.js +5 -6
  63. package/lib/utils/dev-config.js +2 -2
  64. package/lib/utils/dev-list-sort.js +145 -0
  65. package/lib/utils/dev-platform-tls.js +0 -63
  66. package/lib/utils/docker-build.js +46 -27
  67. package/lib/utils/docker-daemon-tls-ca.js +1 -1
  68. package/lib/utils/docker-exec.js +91 -6
  69. package/lib/utils/env-copy.js +1 -3
  70. package/lib/utils/error-formatters/error-parser.js +0 -3
  71. package/lib/utils/external-env-template.js +1 -1
  72. package/lib/utils/external-system-readiness-compact-blocks.js +28 -1
  73. package/lib/utils/health-check-request.js +2 -3
  74. package/lib/utils/help-builder.js +3 -0
  75. package/lib/utils/image-name.js +22 -4
  76. package/lib/utils/logger.js +37 -4
  77. package/lib/utils/manifest-source-emit.js +1 -1
  78. package/lib/utils/paths.js +32 -4
  79. package/lib/utils/pipeline-upload-auth-retry.js +4 -0
  80. package/lib/utils/postgres-platform-bootstrap.js +24 -17
  81. package/lib/utils/postgres-wipe.js +5 -2
  82. package/lib/utils/remote-dev-auth.js +39 -4
  83. package/lib/utils/resolve-docker-image-ref.js +36 -6
  84. package/lib/utils/token-manager.js +16 -0
  85. package/lib/utils/upload-sync-options.js +17 -3
  86. package/lib/validation/openapi-contract-surface-validator.js +4 -0
  87. package/lib/validation/validator.js +6 -5
  88. package/package.json +34 -12
  89. package/scripts/export-builder-api-evidence.js +2 -2
  90. package/scripts/lib/plan-actor.js +2 -2
  91. package/scripts/lib/plan-meta.js +1 -1
  92. package/scripts/lib/plan-parse.js +1 -1
  93. package/scripts/lib/plan-prevalidate-gates.js +12 -1
  94. package/scripts/lib/plan-run-report.js +13 -2
  95. package/scripts/pnpm/lib/resolve-aifabrix-bin.mjs +10 -10
  96. package/templates/applications/dataplane/application.yaml +26 -4
  97. package/templates/applications/dataplane/env.template +28 -9
  98. package/templates/applications/dataplane/rbac.yaml +64 -2
  99. package/templates/applications/miso-controller/application.yaml +10 -1
  100. package/templates/applications/miso-controller/env.template +10 -7
  101. package/templates/applications/miso-controller/rbac.yaml +72 -0
  102. package/templates/channels/slack/integration/slack-system.json +60 -2
  103. package/templates/python/requirements.txt +1 -1
@@ -0,0 +1,374 @@
1
+ rule_title,location,symbol_or_detail,message,done
2
+ Comparison between inconvertible types,lib/app/certification-verify-rows.js:19,id,"Variable 'id' is of type date, object or regular expression, but it is compared to an expression of type null.",true
3
+ Comparison between inconvertible types,lib/certification/merge-certification-from-artifact.js:16,id,"Variable 'id' is of type date, object or regular expression, but it is compared to an expression of type null.",true
4
+ Comparison between inconvertible types,tests/local/lib/app-run-branch-coverage.test.js:232,error,"Variable 'error' cannot be of type null, but it is compared to an expression of type null.",true
5
+ Identical operands,lib/app/show.js:480,,Operands configD ... Sources and configD ... Sources are identical.,true
6
+ Identical operands,tests/lib/app/app-deploy.test.js:1159,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
7
+ Identical operands,tests/lib/generator/generator-validation.test.js:232,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
8
+ Identical operands,tests/lib/generator/generator-validation.test.js:285,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
9
+ Identical operands,tests/lib/generator/generator.test.js:1372,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
10
+ Identical operands,tests/lib/generator/generator.test.js:1376,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
11
+ Identical operands,tests/lib/generator/generator.test.js:1416,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
12
+ Identical operands,tests/lib/generator/generator.test.js:1420,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
13
+ Identical operands,tests/lib/generator/generator.test.js:145,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
14
+ Identical operands,tests/lib/generator/generator.test.js:1450,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
15
+ Identical operands,tests/lib/generator/generator.test.js:1462,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
16
+ Identical operands,tests/lib/generator/generator.test.js:1492,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
17
+ Identical operands,tests/lib/generator/generator.test.js:1525,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
18
+ Identical operands,tests/lib/generator/generator.test.js:155,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
19
+ Identical operands,tests/lib/generator/generator.test.js:1561,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
20
+ Identical operands,tests/lib/generator/generator.test.js:1596,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
21
+ Identical operands,tests/lib/generator/generator.test.js:1626,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
22
+ Identical operands,tests/lib/generator/generator.test.js:1656,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
23
+ Identical operands,tests/lib/generator/generator.test.js:1686,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
24
+ Identical operands,tests/lib/generator/generator.test.js:1716,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
25
+ Identical operands,tests/lib/generator/generator.test.js:1750,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
26
+ Identical operands,tests/lib/generator/generator.test.js:1756,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
27
+ Identical operands,tests/lib/generator/generator.test.js:1792,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
28
+ Identical operands,tests/lib/generator/generator.test.js:1798,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
29
+ Identical operands,tests/lib/generator/generator.test.js:1835,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
30
+ Identical operands,tests/lib/generator/generator.test.js:1841,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
31
+ Identical operands,tests/lib/generator/generator.test.js:1870,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
32
+ Identical operands,tests/lib/generator/generator.test.js:1882,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
33
+ Identical operands,tests/lib/generator/generator.test.js:1909,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
34
+ Identical operands,tests/lib/generator/generator.test.js:1935,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
35
+ Identical operands,tests/lib/generator/generator.test.js:1963,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
36
+ Identical operands,tests/lib/generator/generator.test.js:1991,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
37
+ Identical operands,tests/lib/generator/generator.test.js:2019,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
38
+ Identical operands,tests/lib/generator/generator.test.js:2046,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
39
+ Identical operands,tests/lib/generator/generator.test.js:2080,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
40
+ Identical operands,tests/lib/generator/generator.test.js:2109,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
41
+ Identical operands,tests/lib/generator/generator.test.js:2124,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
42
+ Identical operands,tests/lib/generator/generator.test.js:2158,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
43
+ Identical operands,tests/lib/generator/generator.test.js:2192,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
44
+ Identical operands,tests/lib/generator/generator.test.js:2272,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
45
+ Identical operands,tests/lib/generator/generator.test.js:2288,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
46
+ Identical operands,tests/lib/generator/generator.test.js:2326,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
47
+ Identical operands,tests/lib/generator/generator.test.js:252,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
48
+ Identical operands,tests/lib/generator/generator.test.js:301,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
49
+ Identical operands,tests/lib/generator/generator.test.js:328,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
50
+ Identical operands,tests/lib/generator/generator.test.js:332,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
51
+ Identical operands,tests/lib/generator/generator.test.js:365,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
52
+ Identical operands,tests/lib/generator/generator.test.js:381,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
53
+ Identical operands,tests/lib/generator/generator.test.js:387,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
54
+ Identical operands,tests/lib/validation/validator.test.js:1008,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
55
+ Identical operands,tests/lib/validation/validator.test.js:1014,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
56
+ Identical operands,tests/lib/validation/validator.test.js:963,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
57
+ Identical operands,tests/lib/validation/validator.test.js:969,,Operands filePat ... .yaml') and filePat ... .yaml') are identical.,true
58
+ Missing await,lib/validation/validator.js:227,validateRoles,,true
59
+ Unneeded defensive code,lib/infrastructure/helpers.js:184,,This guard always evaluates to false.,true
60
+ Unneeded defensive code,lib/infrastructure/helpers.js:184,,This guard always evaluates to false.,true
61
+ Unneeded defensive code,lib/utils/dev-config.js:48,,This guard always evaluates to false.,true
62
+ Unneeded defensive code,lib/utils/dev-config.js:48,,This guard always evaluates to false.,true
63
+ Unneeded defensive code,lib/utils/error-formatters/error-parser.js:28,,This guard always evaluates to false.,true
64
+ Unneeded defensive code,lib/utils/error-formatters/error-parser.js:28,,This guard always evaluates to false.,true
65
+ Unneeded defensive code,tests/lib/utils/token-manager.test.js:1072,,This guard always evaluates to false.,true
66
+ Unneeded defensive code,tests/lib/utils/token-manager.test.js:1075,,This guard always evaluates to false.,true
67
+ "Unused variable, import, function or class",tests/bin/aifabrix.test.js:117,,Unused variable mockSetupCommands.,true
68
+ "Unused variable, import, function or class",tests/bin/aifabrix.test.js:118,,Unused variable mockSetupAppCommands.,true
69
+ "Unused variable, import, function or class",tests/helpers/mock-controller.js:12,,Unused variable axios.,true
70
+ "Unused variable, import, function or class",tests/integration/hubspot/hubspot-integration.test.js:19,,Unused variable validateAgainstSchema.,true
71
+ "Unused variable, import, function or class",tests/integration/hubspot/hubspot-integration.test.js:25,,Unused variable generator.,true
72
+ "Unused variable, import, function or class",tests/integration/steps/step-01-create.test.js:11,,Unused variable fs.,true
73
+ "Unused variable, import, function or class",tests/integration/steps/step-02-dockerfile.test.js:24,,Unused variable port.,true
74
+ "Unused variable, import, function or class",tests/integration/steps/step-03-resolve.test.js:23,,Unused variable port.,true
75
+ "Unused variable, import, function or class",tests/integration/steps/step-04-json.test.js:23,,Unused variable port.,true
76
+ "Unused variable, import, function or class",tests/integration/steps/step-06-build.test.js:21,,Unused variable port.,true
77
+ "Unused variable, import, function or class",tests/integration/steps/step-09-validate-health.test.js:14,,Unused variable execCommand.,true
78
+ "Unused variable, import, function or class",tests/integration/workflow.test.js:29,,Unused variable port.,true
79
+ "Unused variable, import, function or class",tests/lib/api.test.js:33,,Unused variable getOrRefreshDeviceToken.,true
80
+ "Unused variable, import, function or class",tests/lib/app/app-deploy.test.js:14,,Unused variable app.,true
81
+ "Unused variable, import, function or class",tests/lib/app/app-helpers.test.js:383,,Unused variable variablesPath.,true
82
+ "Unused variable, import, function or class",tests/lib/app/app-list.test.js:41,,Unused variable formatAuthenticationError.,true
83
+ "Unused variable, import, function or class",tests/lib/app/app-run-helpers.test.js:105,,Unused variable readFile.,true
84
+ "Unused variable, import, function or class",tests/lib/app/app-run-uncovered.test.js:179,,Unused variable config.,true
85
+ "Unused variable, import, function or class",tests/lib/app/app-run-uncovered.test.js:209,,Unused variable execAsync.,true
86
+ "Unused variable, import, function or class",tests/lib/app/app-run-uncovered.test.js:34,,Unused variable fs.,true
87
+ "Unused variable, import, function or class",tests/lib/app/app.test.js:17,,Unused variable templates.,true
88
+ "Unused variable, import, function or class",tests/lib/app/app.test.js:19,,Unused variable githubGenerator.,true
89
+ "Unused variable, import, function or class",tests/lib/app/app.test.js:20,,Unused variable validator.,true
90
+ "Unused variable, import, function or class",tests/lib/app/app.test.js:21,,Unused variable secrets.,true
91
+ "Unused variable, import, function or class",tests/lib/app/app.test.js:485,,Unused variable execAsync.,true
92
+ "Unused variable, import, function or class",tests/lib/app/show.test.js:62,,Unused variable fs.,true
93
+ "Unused variable, import, function or class",tests/lib/app/show.test.js:75,,Unused variable loadVariablesFromPath.,true
94
+ "Unused variable, import, function or class",tests/lib/cli-additional-branches.test.js:19,,Unused variable app.,true
95
+ "Unused variable, import, function or class",tests/lib/cli-additional-branches.test.js:20,,Unused variable secrets.,true
96
+ "Unused variable, import, function or class",tests/lib/cli-additional-branches.test.js:23,,Unused variable keyGenerator.,true
97
+ "Unused variable, import, function or class",tests/lib/cli-additional-branches.test.js:24,,Unused variable handleCommandError.,true
98
+ "Unused variable, import, function or class",tests/lib/cli-additional-branches.test.js:24,,Unused variable setupCommands.,true
99
+ "Unused variable, import, function or class",tests/lib/cli-additional.test.js:20,,Unused variable secrets.,true
100
+ "Unused variable, import, function or class",tests/lib/cli-additional.test.js:21,,Unused variable generator.,true
101
+ "Unused variable, import, function or class",tests/lib/cli-additional.test.js:22,,Unused variable validator.,true
102
+ "Unused variable, import, function or class",tests/lib/cli-additional.test.js:23,,Unused variable keyGenerator.,true
103
+ "Unused variable, import, function or class",tests/lib/cli-additional.test.js:24,,Unused variable makeApiCall.,true
104
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:20,,Unused variable infra.,true
105
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:21,,Unused variable app.,true
106
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:22,,Unused variable secrets.,true
107
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:23,,Unused variable generator.,true
108
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:24,,Unused variable validator.,true
109
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:25,,Unused variable keyGenerator.,true
110
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:26,,Unused variable saveConfig.,true
111
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:27,,Unused variable makeApiCall.,true
112
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:28,,Unused variable inquirer.,true
113
+ "Unused variable, import, function or class",tests/lib/cli-branch-coverage.test.js:29,,Unused variable exec.,true
114
+ "Unused variable, import, function or class",tests/lib/cli-command-actions.test.js:24,,Unused variable validator.,true
115
+ "Unused variable, import, function or class",tests/lib/cli-command-actions.test.js:25,,Unused variable keyGenerator.,true
116
+ "Unused variable, import, function or class",tests/lib/cli-command-actions.test.js:36,,Unused variable exec.,true
117
+ "Unused variable, import, function or class",tests/lib/cli-command-actions.test.js:684,,Unused variable options.,true
118
+ "Unused variable, import, function or class",tests/lib/cli-command-actions.test.js:697,,Unused variable envPrompt.,true
119
+ "Unused variable, import, function or class",tests/lib/cli-command-actions.test.js:72,,Unused variable method.,true
120
+ "Unused variable, import, function or class",tests/lib/cli-commands.test.js:9,,Unused variable cli.,true
121
+ "Unused variable, import, function or class",tests/lib/cli-comprehensive.test.js:106,,Unused variable keyGenerator.,true
122
+ "Unused variable, import, function or class",tests/lib/cli-comprehensive.test.js:111,,Unused variable exec.,true
123
+ "Unused variable, import, function or class",tests/lib/cli-coverage.test.js:15,,Unused variable keyGenerator.,true
124
+ "Unused variable, import, function or class",tests/lib/cli-error-paths.test.js:34,,Unused variable validator.,true
125
+ "Unused variable, import, function or class",tests/lib/cli-error-paths.test.js:36,,Unused variable logger.,true
126
+ "Unused variable, import, function or class",tests/lib/cli-error-paths.test.js:40,,Unused variable chalk.,true
127
+ "Unused variable, import, function or class",tests/lib/cli-setup.test.js:57,,Unused variable mockProgram.,true
128
+ "Unused variable, import, function or class",tests/lib/cli-uncovered-commands.test.js:487,,Unused variable appPath.,true
129
+ "Unused variable, import, function or class",tests/lib/cli.test.js:12,,Unused variable exec.,true
130
+ "Unused variable, import, function or class",tests/lib/cli.test.js:13,,Unused variable net.,true
131
+ "Unused variable, import, function or class",tests/lib/cli.test.js:143,,Unused variable mockSecretsPath.,true
132
+ "Unused variable, import, function or class",tests/lib/cli.test.js:9,,Unused variable fs.,true
133
+ "Unused variable, import, function or class",tests/lib/cli/setup-utility.test.js:99,,Unused variable schemaPath.,true
134
+ "Unused variable, import, function or class",tests/lib/commands-app-branch-coverage.test.js:10,,Unused variable fsSync.,true
135
+ "Unused variable, import, function or class",tests/lib/commands-app-direct.test.js:10,,Unused variable fsSync.,true
136
+ "Unused variable, import, function or class",tests/lib/commands-app-direct.test.js:36,,Unused variable app.,true
137
+ "Unused variable, import, function or class",tests/lib/commands-login.test.js:14,,Unused variable makeApiCall.,true
138
+ "Unused variable, import, function or class",tests/lib/commands-login.test.js:882,,Unused variable validationResult.,true
139
+ "Unused variable, import, function or class",tests/lib/commands/app-shell.test.js:47,,Unused variable p.,true
140
+ "Unused variable, import, function or class",tests/lib/commands/app.test.js:12,,Unused variable yaml.,true
141
+ "Unused variable, import, function or class",tests/lib/commands/convert.test.js:38,,Unused variable schemaBasePath.,true
142
+ "Unused variable, import, function or class",tests/lib/commands/credential-env.test.js:146,,Unused variable result.,true
143
+ "Unused variable, import, function or class",tests/lib/commands/credential-push.test.js:37,,Unused variable requireBearerForDataplanePipeline.,true
144
+ "Unused variable, import, function or class",tests/lib/commands/dev-down.test.js:7,,Unused variable promisify.,true
145
+ "Unused variable, import, function or class",tests/lib/commands/login-credentials.test.js:47,,Unused variable formatApiError.,true
146
+ "Unused variable, import, function or class",tests/lib/commands/login-device.test.js:420,,Unused variable originalGetEnvironmentKey.,true
147
+ "Unused variable, import, function or class",tests/lib/commands/login-device.test.js:60,,Unused variable ora.,true
148
+ "Unused variable, import, function or class",tests/lib/commands/login-error-paths.test.js:24,,Unused variable logger.,true
149
+ "Unused variable, import, function or class",tests/lib/commands/login-error-paths.test.js:25,,Unused variable tokenManager.,true
150
+ "Unused variable, import, function or class",tests/lib/commands/logout.test.js:56,,Unused variable mockConfigPath.,true
151
+ "Unused variable, import, function or class",tests/lib/commands/npm-config.test.js:32,,Unused variable path.,true
152
+ "Unused variable, import, function or class",tests/lib/commands/repair-datasource.test.js:22,,Unused variable MINIMAL_METADATA_SCHEMA.,true
153
+ "Unused variable, import, function or class",tests/lib/commands/repair.test.js:1874,,Unused variable result.,true
154
+ "Unused variable, import, function or class",tests/lib/commands/repair.test.js:1886,,Unused variable dsPath.,true
155
+ "Unused variable, import, function or class",tests/lib/commands/repair.test.js:265,,Unused variable result.,true
156
+ "Unused variable, import, function or class",tests/lib/commands/secrets-list.test.js:6,,Unused variable path.,true
157
+ "Unused variable, import, function or class",tests/lib/commands/secrets-remove.test.js:6,,Unused variable path.,true
158
+ "Unused variable, import, function or class",tests/lib/commands/up-common.test.js:71,,Unused variable controllerUrlMod.,true
159
+ "Unused variable, import, function or class",tests/lib/commands/upload.test.js:444,,Unused variable displayValidationResults.,true
160
+ "Unused variable, import, function or class",tests/lib/commands/upload.test.js:9,,Unused variable chalk.,true
161
+ "Unused variable, import, function or class",tests/lib/commands/wizard-core.test.js:64,,Unused variable datasourceDeploy.,true
162
+ "Unused variable, import, function or class",tests/lib/commands/wizard-core.test.js:65,,Unused variable wizardDataplane.,true
163
+ "Unused variable, import, function or class",tests/lib/commands/wizard.test.js:55,,Unused variable datasourceDeploy.,true
164
+ "Unused variable, import, function or class",tests/lib/commands/wizard.test.js:56,,Unused variable wizardDataplane.,true
165
+ "Unused variable, import, function or class",tests/lib/compose-generator.test.js:13,,Unused variable fs.,true
166
+ "Unused variable, import, function or class",tests/lib/core/config.test.js:11,,Unused variable fs.,true
167
+ "Unused variable, import, function or class",tests/lib/core/config.test.js:27,,Unused variable loadDeveloperId.,true
168
+ "Unused variable, import, function or class",tests/lib/core/diff.test.js:10,,Unused variable path.,true
169
+ "Unused variable, import, function or class",tests/lib/core/diff.test.js:11,,Unused variable chalk.,true
170
+ "Unused variable, import, function or class",tests/lib/core/diff.test.js:9,,Unused variable fs.,true
171
+ "Unused variable, import, function or class",tests/lib/core/key-generator.test.js:278,,Unused variable variablesPath.,true
172
+ "Unused variable, import, function or class",tests/lib/core/key-generator.test.js:47,,Unused variable variablesPath.,true
173
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:376,,Unused variable buildSecrets.,true
174
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:682,,Unused variable serviceVariablesPath.,true
175
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:693,,Unused variable serviceVariablesPath.,true
176
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:703,,Unused variable serviceVariablesPath.,true
177
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:722,,Unused variable serviceVariablesPath.,true
178
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:738,,Unused variable serviceVariablesPath.,true
179
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:754,,Unused variable serviceVariablesPath.,true
180
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:772,,Unused variable serviceVariablesPath.,true
181
+ "Unused variable, import, function or class",tests/lib/core/secrets-utils.test.js:792,,Unused variable serviceVariablesPath.,true
182
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:1022,,Unused variable mockSecrets.,true
183
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:114,,Unused variable mockEnvConfig.,true
184
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:2417,,Unused variable builderPath.,true
185
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:2761,,Unused variable result.,true
186
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:3247,,Unused variable secretsPath.,true
187
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:3274,,Unused variable secretsPath.,true
188
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:3779,,Unused variable outputPath.,true
189
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:3854,,Unused variable builderPath.,true
190
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:3982,,Unused variable envPath.,true
191
+ "Unused variable, import, function or class",tests/lib/core/secrets.test.js:709,,Unused variable mockSecrets.,true
192
+ "Unused variable, import, function or class",tests/lib/datasource/datasource-deploy.test.js:9,,Unused variable fs.,true
193
+ "Unused variable, import, function or class",tests/lib/datasource/datasource-diff.test.js:9,,Unused variable chalk.,true
194
+ "Unused variable, import, function or class",tests/lib/datasource/datasource-list.test.js:9,,Unused variable chalk.,true
195
+ "Unused variable, import, function or class",tests/lib/datasource/datasource-validate.test.js:9,,Unused variable fs.,true
196
+ "Unused variable, import, function or class",tests/lib/datasource/log-viewer.test.js:154,,Unused variable path.,true
197
+ "Unused variable, import, function or class",tests/lib/deployment/deployer-error-paths.test.js:18,,Unused variable axios.,true
198
+ "Unused variable, import, function or class",tests/lib/deployment/deployer-error-paths.test.js:20,,Unused variable logger.,true
199
+ "Unused variable, import, function or class",tests/lib/deployment/deployer-error-paths.test.js:24,,Unused variable chalk.,true
200
+ "Unused variable, import, function or class",tests/lib/deployment/environment-deploy.test.js:10,,Unused variable chalk.,true
201
+ "Unused variable, import, function or class",tests/lib/deployment/environment-deploy.test.js:101,,Unused variable environmentsApi.,true
202
+ "Unused variable, import, function or class",tests/lib/deployment/push-error-paths.test.js:103,,Unused variable errorOutput.,true
203
+ "Unused variable, import, function or class",tests/lib/deployment/push-error-paths.test.js:11,,Unused variable chalk.,true
204
+ "Unused variable, import, function or class",tests/lib/deployment/push-error-paths.test.js:12,,Unused variable logger.,true
205
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy-helpers.test.js:12,,Unused variable yaml.,true
206
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy-helpers.test.js:202,,Unused variable fallbackPath1.,true
207
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy-helpers.test.js:302,,Unused variable datasourcePath2.,true
208
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy.test.js:10,,Unused variable fsPromises.,true
209
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy.test.js:12,,Unused variable yaml.,true
210
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy.test.js:128,,Unused variable variablesPath.,true
211
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy.test.js:13,,Unused variable chalk.,true
212
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-deploy.test.js:9,,Unused variable fs.,true
213
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-download.test.js:110,,Unused variable tempDir.,true
214
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-download.test.js:12,,Unused variable chalk.,true
215
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-generator.test.js:13,,Unused variable chalk.,true
216
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-generator.test.js:14,,Unused variable handlebars.,true
217
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-generator.test.js:793,,Unused variable datasourcePaths.,true
218
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test-error-paths.test.js:51,,Unused variable yaml.,true
219
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test-helpers.test.js:10,,Unused variable logger.,true
220
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test-helpers.test.js:12,,Unused variable externalSystemSchema.,true
221
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test-helpers.test.js:243,,Unused variable datasourceSchema.,true
222
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test-helpers.test.js:9,,Unused variable chalk.,true
223
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test.test.js:10,,Unused variable yaml.,true
224
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test.test.js:100,,Unused variable validateAgainstSchema.,true
225
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test.test.js:103,,Unused variable displayTestResults.,true
226
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test.test.js:104,,Unused variable displayIntegrationTestResults.,true
227
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test.test.js:11,,Unused variable chalk.,true
228
+ "Unused variable, import, function or class",tests/lib/external-system/external-system-test.test.js:110,,Unused variable systemKey.,true
229
+ "Unused variable, import, function or class",tests/lib/generator/external-controller-manifest.test.js:11,,Unused variable yaml.,true
230
+ "Unused variable, import, function or class",tests/lib/generator/external-controller-manifest.test.js:368,,Unused variable generateControllerManifest.,true
231
+ "Unused variable, import, function or class",tests/lib/generator/external-controller-manifest.test.js:40,,Unused variable variablesPath.,true
232
+ "Unused variable, import, function or class",tests/lib/generator/generator-error-paths.test.js:189,,Unused variable variablesPath.,true
233
+ "Unused variable, import, function or class",tests/lib/generator/generator-error-paths.test.js:284,,Unused variable variablesPath.,true
234
+ "Unused variable, import, function or class",tests/lib/generator/generator-error-paths.test.js:339,,Unused variable systemFilePath.,true
235
+ "Unused variable, import, function or class",tests/lib/generator/generator-error-paths.test.js:358,,Unused variable systemFilePath.,true
236
+ "Unused variable, import, function or class",tests/lib/generator/generator-helpers.test.js:10,,Unused variable path.,true
237
+ "Unused variable, import, function or class",tests/lib/generator/generator-helpers.test.js:11,,Unused variable yaml.,true
238
+ "Unused variable, import, function or class",tests/lib/generator/generator-validation.test.js:16,,Unused variable keyGenerator.,true
239
+ "Unused variable, import, function or class",tests/lib/generator/generator.test.js:13,,Unused variable keyGenerator.,true
240
+ "Unused variable, import, function or class",tests/lib/generator/generator.test.js:2547,,Unused variable missingPath.,true
241
+ "Unused variable, import, function or class",tests/lib/generator/generator.test.js:264,,Unused variable result.,true
242
+ "Unused variable, import, function or class",tests/lib/generator/generator.test.js:306,,Unused variable result.,true
243
+ "Unused variable, import, function or class",tests/lib/generator/generator.test.js:63,,Unused variable variablesPath.,true
244
+ "Unused variable, import, function or class",tests/lib/generator/generator.test.js:65,,Unused variable rbacPath.,true
245
+ "Unused variable, import, function or class",tests/lib/generator/wizard-generator.test.js:70,,Unused variable yaml.,true
246
+ "Unused variable, import, function or class",tests/lib/health-check.test.js:10,,Unused variable exec.,true
247
+ "Unused variable, import, function or class",tests/lib/infrastructure/infra.test.js:136,,Unused variable mockTempComposePath.,true
248
+ "Unused variable, import, function or class",tests/lib/programmatic/openapi-description-enricher.test.js:19,,Unused variable name.,true
249
+ "Unused variable, import, function or class",tests/lib/utils/api.test.js:36,,Unused variable getOrRefreshDeviceToken.,true
250
+ "Unused variable, import, function or class",tests/lib/utils/app-register-config.test.js:41,,Unused variable yaml.,true
251
+ "Unused variable, import, function or class",tests/lib/utils/app-register-validator.test.js:22,,Unused variable originalRelative.,true
252
+ "Unused variable, import, function or class",tests/lib/utils/compose-generate-infra-pgpass.test.js:26,,Unused variable sys.,true
253
+ "Unused variable, import, function or class",tests/lib/utils/configuration-env-resolver.test.js:279,,Unused variable envPath.,true
254
+ "Unused variable, import, function or class",tests/lib/utils/controller-url.test.js:15,,Unused variable isControllerHealthReachable.,true
255
+ "Unused variable, import, function or class",tests/lib/utils/credential-display.test.js:20,,Unused variable STATUS_LABELS.,true
256
+ "Unused variable, import, function or class",tests/lib/utils/dev-cert-helper.test.js:8,,Unused variable os.,true
257
+ "Unused variable, import, function or class",tests/lib/utils/docker.test.js:30,,Unused variable execAsync.,true
258
+ "Unused variable, import, function or class",tests/lib/utils/env-generation.test.js:1839,,Unused variable outEnvPath.,true
259
+ "Unused variable, import, function or class",tests/lib/utils/env-generation.test.js:1882,,Unused variable outEnvPath.,true
260
+ "Unused variable, import, function or class",tests/lib/utils/env-ports.test.js:196,,Unused variable parsed.,true
261
+ "Unused variable, import, function or class",tests/lib/utils/error-formatters/error-parser.test.js:91,,Unused variable errorData.,true
262
+ "Unused variable, import, function or class",tests/lib/utils/external-env-template.test.js:6,,Unused variable path.,true
263
+ "Unused variable, import, function or class",tests/lib/utils/external-env-template.test.js:7,,Unused variable fs.,true
264
+ "Unused variable, import, function or class",tests/lib/utils/external-system-display.test.js:9,,Unused variable chalk.,true
265
+ "Unused variable, import, function or class",tests/lib/utils/external-system-readiness-core.test.js:11,,Unused variable summarizeDatasourceTiersA.,true
266
+ "Unused variable, import, function or class",tests/lib/utils/file-upload.test.js:10,,Unused variable path.,true
267
+ "Unused variable, import, function or class",tests/lib/utils/local-secrets.test.js:168,,Unused variable secretsDir.,true
268
+ "Unused variable, import, function or class",tests/lib/utils/local-secrets.test.js:29,,Unused variable yaml.,true
269
+ "Unused variable, import, function or class",tests/lib/utils/local-secrets.test.js:30,,Unused variable logger.,true
270
+ "Unused variable, import, function or class",tests/lib/utils/local-secrets.test.js:69,,Unused variable secretsPath.,true
271
+ "Unused variable, import, function or class",tests/lib/utils/mutagen-install.test.js:13,,Unused variable fs.,true
272
+ "Unused variable, import, function or class",tests/lib/utils/mutagen-install.test.js:15,,Unused variable exec.,true
273
+ "Unused variable, import, function or class",tests/lib/utils/mutagen-install.test.js:6,,Unused variable path.,true
274
+ "Unused variable, import, function or class",tests/lib/utils/paths-detect-app-type.test.js:19,,Unused variable fs.,true
275
+ "Unused variable, import, function or class",tests/lib/utils/paths.test.js:66,,Unused variable canUnsetJestWorker.,true
276
+ "Unused variable, import, function or class",tests/lib/utils/resolve-application-config-path.test.js:19,,Unused variable fs.,true
277
+ "Unused variable, import, function or class",tests/lib/utils/run-detect-app-type.js:6,,Unused variable path.,true
278
+ "Unused variable, import, function or class",tests/lib/utils/run-get-resolve-app-path.js:6,,Unused variable path.,true
279
+ "Unused variable, import, function or class",tests/lib/utils/schema-resolver.test.js:276,,Unused variable schemaBasePath.,true
280
+ "Unused variable, import, function or class",tests/lib/utils/schema-resolver.test.js:31,,Unused variable mockSchemaBasePath.,true
281
+ "Unused variable, import, function or class",tests/lib/utils/schema-resolver.test.js:9,,Unused variable fs.,true
282
+ "Unused variable, import, function or class",tests/lib/utils/secrets-generator.test.js:14,,Unused variable crypto.,true
283
+ "Unused variable, import, function or class",tests/lib/utils/secrets-generator.test.js:836,,Unused variable resolvedPath.,true
284
+ "Unused variable, import, function or class",tests/lib/utils/secrets-generator.test.js:881,,Unused variable dir.,true
285
+ "Unused variable, import, function or class",tests/lib/utils/secrets-path.test.js:12,,Unused variable yaml.,true
286
+ "Unused variable, import, function or class",tests/lib/utils/secrets-url.test.js:114,,Unused variable result.,true
287
+ "Unused variable, import, function or class",tests/lib/utils/secrets-url.test.js:141,,Unused variable result.,true
288
+ "Unused variable, import, function or class",tests/lib/utils/secrets-url.test.js:177,,Unused variable result.,true
289
+ "Unused variable, import, function or class",tests/lib/utils/secrets-url.test.js:85,,Unused variable result.,true
290
+ "Unused variable, import, function or class",tests/lib/utils/ssh-key-helper.test.js:82,,Unused variable ed25519Path.,true
291
+ "Unused variable, import, function or class",tests/lib/utils/template-helpers.test.js:105,,Unused variable configPath.,true
292
+ "Unused variable, import, function or class",tests/lib/utils/template-helpers.test.js:89,,Unused variable invalidContent.,true
293
+ "Unused variable, import, function or class",tests/lib/utils/token-manager.test.js:590,,Unused variable afterCall.,true
294
+ "Unused variable, import, function or class",tests/lib/utils/token-manager.test.js:622,,Unused variable afterCall.,true
295
+ "Unused variable, import, function or class",tests/lib/utils/token-manager.test.js:66,,Unused variable mockSecretsPath.,true
296
+ "Unused variable, import, function or class",tests/lib/utils/yaml-preserve.test.js:15,,Unused variable isEncrypted.,true
297
+ "Unused variable, import, function or class",tests/lib/validation/openapi-contract-surface-validator.test.js:7,,Unused variable fs.,true
298
+ "Unused variable, import, function or class",tests/lib/validation/template.test.js:103,,Unused variable templatePath.,true
299
+ "Unused variable, import, function or class",tests/lib/validation/template.test.js:117,,Unused variable templatePath.,true
300
+ "Unused variable, import, function or class",tests/lib/validation/template.test.js:229,,Unused variable subdirPath.,true
301
+ "Unused variable, import, function or class",tests/lib/validation/template.test.js:393,,Unused variable languageTemplatePath.,true
302
+ "Unused variable, import, function or class",tests/lib/validation/template.test.js:537,,Unused variable templatesDir.,true
303
+ "Unused variable, import, function or class",tests/lib/validation/template.test.js:90,,Unused variable templatePath.,true
304
+ "Unused variable, import, function or class",tests/lib/validation/validate.test.js:11,,Unused variable chalk.,true
305
+ "Unused variable, import, function or class",tests/lib/validation/validate.test.js:9,,Unused variable fs.,true
306
+ "Unused variable, import, function or class",tests/lib/validation/validator-external-rbac.test.js:203,,Unused variable result.,true
307
+ "Unused variable, import, function or class",tests/lib/validation/validator.test.js:149,,Unused variable mockSecretsPath.,true
308
+ "Unused variable, import, function or class",tests/lib/validation/validator.test.js:183,,Unused variable variablesPath.,true
309
+ "Unused variable, import, function or class",tests/lib/validation/validator.test.js:186,,Unused variable validVariables.,true
310
+ "Unused variable, import, function or class",tests/lib/validation/validator.test.js:216,,Unused variable invalidVariables.,true
311
+ "Unused variable, import, function or class",tests/lib/validation/validator.test.js:313,,Unused variable rbacPath.,true
312
+ "Unused variable, import, function or class",tests/lib/validation/validator.test.js:945,,Unused variable validVariables.,true
313
+ "Unused variable, import, function or class",tests/lib/validation/validator.test.js:955,,Unused variable validRbac.,true
314
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:102,,Unused variable options.,true
315
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:125,,Unused variable response.,true
316
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:134,,Unused variable appName.,true
317
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:135,,Unused variable environment.,true
318
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:174,,Unused variable environment.,true
319
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:248,,Unused variable environment.,true
320
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:257,,Unused variable variables.,true
321
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:331,,Unused variable environment.,true
322
+ "Unused variable, import, function or class",tests/local/lib/app-commands.test.js:99,,Unused variable appCommands.,true
323
+ "Unused variable, import, function or class",tests/local/lib/app-run-advanced.test.js:108,,Unused variable exec.,true
324
+ "Unused variable, import, function or class",tests/local/lib/app-run-advanced.test.js:110,,Unused variable net.,true
325
+ "Unused variable, import, function or class",tests/local/lib/app-run-advanced.test.js:299,,Unused variable execAsync.,true
326
+ "Unused variable, import, function or class",tests/local/lib/app-run-advanced.test.js:311,,Unused variable execAsync.,true
327
+ "Unused variable, import, function or class",tests/local/lib/app-run-advanced.test.js:323,,Unused variable execAsync.,true
328
+ "Unused variable, import, function or class",tests/local/lib/app-run-advanced.test.js:94,,Unused variable language.,true
329
+ "Unused variable, import, function or class",tests/local/lib/app-run-debug.test.js:163,,Unused variable getProjectRoot.,true
330
+ "Unused variable, import, function or class",tests/local/lib/app-uncovered-paths.test.js:139,,Unused variable config.,true
331
+ "Unused variable, import, function or class",tests/local/lib/app-uncovered-paths.test.js:323,,Unused variable updatedVariables.,true
332
+ "Unused variable, import, function or class",tests/local/lib/app-uncovered-paths.test.js:50,,Unused variable getProjectRoot.,true
333
+ "Unused variable, import, function or class",tests/local/lib/app/app-additional-coverage.test.js:42,,Unused variable build.,true
334
+ "Unused variable, import, function or class",tests/local/lib/app/app-additional-coverage.test.js:43,,Unused variable appRun.,true
335
+ "Unused variable, import, function or class",tests/local/lib/app/app-coverage-uncovered.test.js:155,,Unused variable config.,true
336
+ "Unused variable, import, function or class",tests/local/lib/app/app-coverage-uncovered.test.js:191,,Unused variable config.,true
337
+ "Unused variable, import, function or class",tests/local/lib/app/app-uncovered-lines.test.js:16,,Unused variable yaml.,true
338
+ "Unused variable, import, function or class",tests/local/lib/commands-app.test.js:146,,Unused variable variablesPath.,true
339
+ "Unused variable, import, function or class",tests/local/lib/commands-app.test.js:183,,Unused variable environment.,true
340
+ "Unused variable, import, function or class",tests/local/lib/commands-app.test.js:218,,Unused variable appKey.,true
341
+ "Unused variable, import, function or class",tests/local/lib/commands-app.test.js:219,,Unused variable environment.,true
342
+ "Unused variable, import, function or class",tests/local/lib/commands-app.test.js:83,,Unused variable result.,true
343
+ "Unused variable, import, function or class",tests/local/lib/commands-app.test.js:93,,Unused variable environment.,true
344
+ "Unused variable, import, function or class",tests/local/lib/resolvers/dimension-file.test.js:13,,Unused variable mkdirSync.,true
345
+ "Unused variable, import, function or class",tests/local/lib/utils/external-readme.test.js:10,,Unused variable fs.,true
346
+ "Unused variable, import, function or class",tests/local/lib/utils/external-readme.test.js:11,,Unused variable handlebars.,true
347
+ "Unused variable, import, function or class",tests/local/lib/utils/external-readme.test.js:174,,Unused variable originalGenerate.,true
348
+ "Unused variable, import, function or class",tests/local/lib/utils/external-readme.test.js:9,,Unused variable path.,true
349
+ "Unused variable, import, function or class",tests/scripts/test-wrapper.js:51,,Unused function filterExitHandlerError.,true
350
+ "Unused variable, import, function or class",tests/setup.js:164,,Unused variable originalMkdirSync.,true
351
+ "Unused variable, import, function or class",tests/setup.js:165,,Unused variable originalExistsSync.,true
352
+ Useless assignment to local variable,lib/commands/setup.js:294,,"The initial value of outcome is unused, since it is always overwritten.",true
353
+ Useless assignment to local variable,lib/core/audit-logger.js:241,,"The initial value of controllerUrl is unused, since it is always overwritten.",true
354
+ Useless assignment to local variable,lib/utils/external-env-template.js:145,,"The initial value of authMethod is unused, since it is always overwritten.",true
355
+ Useless assignment to local variable,lib/utils/manifest-source-emit.js:77,,"The initial value of tier is unused, since it is always overwritten.",true
356
+ Useless assignment to local variable,scripts/pnpm/lib/resolve-aifabrix-bin.mjs:95,,"The initial value of resolved is unused, since it is always overwritten.",true
357
+ Useless assignment to local variable,tests/lib/app/app-run-helpers.test.js:89,,The value assigned to opts here is unused.,true
358
+ Useless assignment to local variable,tests/lib/infrastructure/infra.test.js:162,,The value assigned to options here is unused.,true
359
+ Useless assignment to local variable,tests/lib/infrastructure/infra.test.js:211,,The value assigned to options here is unused.,true
360
+ Useless assignment to local variable,tests/lib/infrastructure/infra.test.js:300,,The value assigned to options here is unused.,true
361
+ Useless assignment to local variable,tests/lib/infrastructure/infra.test.js:331,,The value assigned to options here is unused.,true
362
+ Useless assignment to local variable,tests/lib/infrastructure/infra.test.js:368,,The value assigned to options here is unused.,true
363
+ Useless assignment to local variable,tests/lib/infrastructure/infra.test.js:504,,The value assigned to options here is unused.,true
364
+ Useless assignment to local variable,tests/lib/infrastructure/infra.test.js:548,,The value assigned to options here is unused.,true
365
+ Useless assignment to local variable,tests/lib/infrastructure/services.test.js:105,,The value assigned to opts here is unused.,true
366
+ Useless assignment to local variable,tests/lib/infrastructure/services.test.js:47,,The value assigned to opts here is unused.,true
367
+ Useless assignment to property,tests/lib/infrastructure/infra.test.js:578,checkInfraHealth,,true
368
+ Useless conditional,integration/hubspot-test/create-hubspot.js:339,filePatterns,This use of variable 'filePatterns' always evaluates to false.,true
369
+ Useless conditional,lib/app/show.js:350,controllerUrl,This use of variable 'controllerUrl' always evaluates to false.,true
370
+ Useless conditional,lib/commands/repair-openapi-sync.js:100,res,This use of variable 'res' always evaluates to true.,true
371
+ Useless conditional,lib/core/secrets-load.js:136,keySources,This use of variable 'keySources' always evaluates to true.,true
372
+ Useless conditional,lib/datasource/capability/relate-operations.js:26,list,This use of variable 'list' always evaluates to true.,true
373
+ Useless conditional,lib/utils/env-copy.js:390,variablesPath,This use of variable 'variablesPath' always evaluates to true.,true
374
+ Useless conditional,scripts/lib/plan-parse.js:114,,This call to parseSimpleYaml always evaluates to true.,true
@@ -0,0 +1,40 @@
1
+ ---
2
+ description: >-
3
+ Apply when Builder CLI, builder-api, or agents participate in assistant-driven
4
+ Connected System builds. Product-neutral; runtime-orchestration is the agent
5
+ Work MCP; no vendor special-cases in lib/.
6
+ globs:
7
+ - lib/commands/**/*
8
+ - lib/cli/**/*
9
+ - packages/builder-api/**/*
10
+ - builder/builder-api/**/*
11
+ - docs/commands/**/*
12
+ alwaysApply: false
13
+ ---
14
+
15
+ # Assistant-driven integration build (Builder)
16
+
17
+ **Dataplane SSOT (full law):**
18
+ `../aifabrix-dataplane/.cursor/rules/dev-rules/assistant-driven-integration-build.md`
19
+ (in monorepo layouts use the dataplane sibling path; do not fork the law text here.)
20
+
21
+ ## Builder / CLI role
22
+
23
+ | Mode | Allowed |
24
+ | --- | --- |
25
+ | **Prep** | `validate` / `upload` / `repair` for **platform** apps (builder-api), evidence import, diagnose |
26
+ | **Proof** | Not primary — Role Assistant drives published builder-api via dataplane Runtime MCP |
27
+ | **Improve product** | Generic builder-api / CLI gaps for **any** `systemKey` — never HubSpot/lab branches in `lib/` |
28
+
29
+ ## Non-negotiable
30
+
31
+ 1. Obey [cli-product-neutral.mdc](cli-product-neutral.mdc) — no lab keys or plan IDs in product paths.
32
+ 2. Agents proving vertical builds must orchestrate via dataplane **`runtime-orchestration`** MCP, not by inventing CLI greenfield as the proof.
33
+ 3. Fix Builder when assistant proof shows a **generic** Builder bug; do not paper over with dataplane vendor shortcuts.
34
+ 4. Dataplane capability execute binds **via COM only** — see dataplane `no-direct-communication-only-via-com.md` (no raw CIP digs in Runtime).
35
+
36
+ ## Related
37
+
38
+ - Epic: `aifabrix-dataplane/.cursor/plans/2. worker/473.0-business-transformation-assistant.plan.md`
39
+ - Dataplane hardcoding law: `aifabrix-dataplane/.cursor/rules/dev-rules/no-integration-hardcoding-in-app.md`
40
+ - Dataplane COM binding law: `aifabrix-dataplane/.cursor/rules/dev-rules/no-direct-communication-only-via-com.md`
@@ -326,29 +326,14 @@ async function copyFile(src, dest) {
326
326
  * @function copyDirectoryContents
327
327
  * @param {string} srcDir - Source directory
328
328
  * @param {string} destDir - Destination directory
329
- * @param {string[]} filePatterns - File patterns to match (e.g., ['*.json', '*.yaml'])
330
329
  * @returns {Promise<string[]>} Array of copied file names
331
330
  */
332
- async function copyDirectoryContents(srcDir, destDir, filePatterns = null) {
331
+ async function copyDirectoryContents(srcDir, destDir) {
333
332
  await ensureDir(destDir);
334
333
  const files = await listFiles(srcDir);
335
334
  const copiedFiles = [];
336
335
 
337
336
  for (const fileName of files) {
338
- // Filter by patterns if provided
339
- if (filePatterns) {
340
- const matches = filePatterns.some(pattern => {
341
- if (pattern.startsWith('*.')) {
342
- const ext = pattern.slice(1);
343
- return fileName.endsWith(ext);
344
- }
345
- return fileName.includes(pattern);
346
- });
347
- if (!matches) {
348
- continue;
349
- }
350
- }
351
-
352
337
  const srcPath = path.join(srcDir, fileName);
353
338
  const destPath = path.join(destDir, fileName);
354
339
  await copyFile(srcPath, destPath);
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @fileoverview Evidence kinds API (Controller /api/v1/evidence-kinds)
3
+ * @author AI Fabrix Team
4
+ * @version 1.0.0
5
+ */
6
+
7
+ 'use strict';
8
+
9
+ const { ApiClient } = require('./index');
10
+
11
+ const BASE = '/api/v1/evidence-kinds';
12
+
13
+ /**
14
+ * List evidence kinds (paginated)
15
+ * @requiresPermission {Controller} evidence-kinds:read
16
+ * @async
17
+ * @param {string} controllerUrl
18
+ * @param {Object} authConfig
19
+ * @param {Object} [options]
20
+ * @returns {Promise<Object>}
21
+ */
22
+ async function listEvidenceKinds(controllerUrl, authConfig, options = {}) {
23
+ const client = new ApiClient(controllerUrl, authConfig);
24
+ return await client.get(BASE, { params: options });
25
+ }
26
+
27
+ /**
28
+ * Get an evidence kind by id or key
29
+ * @requiresPermission {Controller} evidence-kinds:read
30
+ * @async
31
+ * @param {string} controllerUrl
32
+ * @param {Object} authConfig
33
+ * @param {string} evidenceKindIdOrKey
34
+ * @returns {Promise<Object>}
35
+ */
36
+ async function getEvidenceKind(controllerUrl, authConfig, evidenceKindIdOrKey) {
37
+ const client = new ApiClient(controllerUrl, authConfig);
38
+ return await client.get(`${BASE}/${encodeURIComponent(evidenceKindIdOrKey)}`);
39
+ }
40
+
41
+ /**
42
+ * @param {Object} payload
43
+ * @param {string} key
44
+ * @param {*} value
45
+ * @returns {void}
46
+ */
47
+ function assignOptionalString(payload, key, value) {
48
+ if (value !== undefined && value !== null && value !== '') {
49
+ payload[key] = value;
50
+ }
51
+ }
52
+
53
+ /**
54
+ * @param {import('./types/evidence-kinds.types').CreateEvidenceKindRequest} body
55
+ * @returns {Object}
56
+ */
57
+ function buildCreateEvidenceKindBody(body) {
58
+ const payload = {
59
+ key: body.key,
60
+ domainKey: body.domainKey,
61
+ displayName: body.displayName,
62
+ purpose: body.purpose
63
+ };
64
+ assignOptionalString(payload, 'description', body.description);
65
+ assignOptionalString(payload, 'expectedUse', body.expectedUse);
66
+ assignOptionalString(payload, 'source', body.source);
67
+ if (body.defaultSeverity) payload.defaultSeverity = body.defaultSeverity;
68
+ if (body.requiresApproval !== undefined && body.requiresApproval !== null) {
69
+ payload.requiresApproval = Boolean(body.requiresApproval);
70
+ }
71
+ if (body.isActive !== undefined && body.isActive !== null) {
72
+ payload.isActive = Boolean(body.isActive);
73
+ }
74
+ if (body.sortOrder !== undefined && body.sortOrder !== null) {
75
+ payload.sortOrder = Number(body.sortOrder);
76
+ }
77
+ if (body.metadata && typeof body.metadata === 'object') {
78
+ payload.metadata = body.metadata;
79
+ }
80
+ return payload;
81
+ }
82
+
83
+ /**
84
+ * Create an evidence kind
85
+ * @requiresPermission {Controller} evidence-kinds:create
86
+ * @async
87
+ * @param {string} controllerUrl
88
+ * @param {Object} authConfig
89
+ * @param {import('./types/evidence-kinds.types').CreateEvidenceKindRequest} body
90
+ * @returns {Promise<Object>}
91
+ */
92
+ async function createEvidenceKind(controllerUrl, authConfig, body) {
93
+ const client = new ApiClient(controllerUrl, authConfig);
94
+ return await client.post(BASE, { body: buildCreateEvidenceKindBody(body) });
95
+ }
96
+
97
+ /**
98
+ * Create-if-missing (idempotent): if an evidence kind already exists for the key, return success.
99
+ * @requiresPermission {Controller} evidence-kinds:read + evidence-kinds:create
100
+ * @async
101
+ * @param {string} controllerUrl
102
+ * @param {Object} authConfig
103
+ * @param {import('./types/evidence-kinds.types').CreateEvidenceKindRequest} body
104
+ * @returns {Promise<{ created: boolean, response: Object }>}
105
+ */
106
+ async function createEvidenceKindIdempotent(controllerUrl, authConfig, body) {
107
+ const key = String(body?.key || '').trim();
108
+ if (!key) {
109
+ throw new Error('Evidence kind key is required');
110
+ }
111
+ const getRes = await getEvidenceKind(controllerUrl, authConfig, key);
112
+ if (getRes && getRes.success === true) {
113
+ return { created: false, response: getRes };
114
+ }
115
+ const createRes = await createEvidenceKind(controllerUrl, authConfig, body);
116
+ if (createRes && createRes.success === true) {
117
+ return { created: true, response: createRes };
118
+ }
119
+ const msg = createRes?.error || createRes?.formattedError || 'Failed to create evidence kind';
120
+ throw new Error(msg);
121
+ }
122
+
123
+ module.exports = {
124
+ listEvidenceKinds,
125
+ getEvidenceKind,
126
+ createEvidenceKind,
127
+ createEvidenceKindIdempotent
128
+ };