@botonic/nx-plugin 2.23.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 (206) hide show
  1. package/CHANGELOG.md +420 -0
  2. package/README.md +279 -0
  3. package/executors.json +55 -0
  4. package/generators.json +61 -0
  5. package/migrations.json +40 -0
  6. package/package.json +54 -0
  7. package/src/cursor-commands/update-bot.md +114 -0
  8. package/src/cursor-commands/update-botonic.md +63 -0
  9. package/src/executors/build-node-app/executor.d.ts +5 -0
  10. package/src/executors/build-node-app/executor.js +65 -0
  11. package/src/executors/build-node-app/schema.d.js +16 -0
  12. package/src/executors/build-node-app/schema.json +25 -0
  13. package/src/executors/delete-bot/executor.d.ts +5 -0
  14. package/src/executors/delete-bot/executor.js +112 -0
  15. package/src/executors/delete-bot/schema.d.js +16 -0
  16. package/src/executors/delete-bot/schema.json +35 -0
  17. package/src/executors/deploy-local-runtime/executor.d.ts +5 -0
  18. package/src/executors/deploy-local-runtime/executor.js +144 -0
  19. package/src/executors/deploy-local-runtime/schema.d.js +16 -0
  20. package/src/executors/deploy-local-runtime/schema.json +34 -0
  21. package/src/executors/deploy-netlify-snapshot/executor.d.ts +8 -0
  22. package/src/executors/deploy-netlify-snapshot/executor.js +79 -0
  23. package/src/executors/deploy-netlify-snapshot/schema.d.js +16 -0
  24. package/src/executors/deploy-netlify-snapshot/schema.json +31 -0
  25. package/src/executors/deploy-to-hubtype/executor.d.ts +5 -0
  26. package/src/executors/deploy-to-hubtype/executor.js +308 -0
  27. package/src/executors/deploy-to-hubtype/schema.d.js +16 -0
  28. package/src/executors/deploy-to-hubtype/schema.json +31 -0
  29. package/src/executors/e2e-webchat/botonic-package-publish.spec.ts +84 -0
  30. package/src/executors/e2e-webchat/executor.d.ts +5 -0
  31. package/src/executors/e2e-webchat/executor.js +134 -0
  32. package/src/executors/e2e-webchat/schema.d.js +16 -0
  33. package/src/executors/e2e-webchat/schema.json +35 -0
  34. package/src/executors/integrate-provider/executor.d.ts +5 -0
  35. package/src/executors/integrate-provider/executor.js +155 -0
  36. package/src/executors/integrate-provider/schema.d.js +16 -0
  37. package/src/executors/integrate-provider/schema.json +30 -0
  38. package/src/executors/login-to-hubtype/executor.d.ts +5 -0
  39. package/src/executors/login-to-hubtype/executor.js +79 -0
  40. package/src/executors/login-to-hubtype/schema.d.js +16 -0
  41. package/src/executors/login-to-hubtype/schema.json +25 -0
  42. package/src/executors/logout-from-hubtype/executor.d.ts +3 -0
  43. package/src/executors/logout-from-hubtype/executor.js +54 -0
  44. package/src/executors/logout-from-hubtype/schema.d.js +16 -0
  45. package/src/executors/logout-from-hubtype/schema.json +9 -0
  46. package/src/executors/run-lambda/executor.d.ts +5 -0
  47. package/src/executors/run-lambda/executor.js +65 -0
  48. package/src/executors/run-lambda/schema.d.js +16 -0
  49. package/src/executors/run-lambda/schema.json +20 -0
  50. package/src/executors/serve-bot/executor.d.ts +5 -0
  51. package/src/executors/serve-bot/executor.js +330 -0
  52. package/src/executors/serve-bot/schema.d.js +16 -0
  53. package/src/executors/serve-bot/schema.json +40 -0
  54. package/src/generators/action/files/__name__.spec.ts.template +15 -0
  55. package/src/generators/action/files/__name__.ts.template +15 -0
  56. package/src/generators/action/generator.d.ts +4 -0
  57. package/src/generators/action/generator.js +112 -0
  58. package/src/generators/action/schema.d.ts +7 -0
  59. package/src/generators/action/schema.js +16 -0
  60. package/src/generators/action/schema.json +43 -0
  61. package/src/generators/bot-app/files/.eslintrc.json.template +18 -0
  62. package/src/generators/bot-app/files/README.md.template +148 -0
  63. package/src/generators/bot-app/files/src/client/custom-messages/index.ts.template +2 -0
  64. package/src/generators/bot-app/files/src/client/webchat/index.html.template +35 -0
  65. package/src/generators/bot-app/files/src/client/webchat/index.tsx.template +107 -0
  66. package/src/generators/bot-app/files/src/client/webchat/styles.css.template +17 -0
  67. package/src/generators/bot-app/files/src/client/webchat/webchat-tokens-overrides.css.template +2 -0
  68. package/src/generators/bot-app/files/src/client/webviews/app.tsx.template +8 -0
  69. package/src/generators/bot-app/files/src/client/webviews/index.html.template +32 -0
  70. package/src/generators/bot-app/files/src/client/webviews/index.tsx.template +18 -0
  71. package/src/generators/bot-app/files/src/server/bot/actions/index.ts.template +2 -0
  72. package/src/generators/bot-app/files/src/server/bot/actions/not-found.ts.template +13 -0
  73. package/src/generators/bot-app/files/src/server/bot/actions/welcome.ts.template +13 -0
  74. package/src/generators/bot-app/files/src/server/bot/index.ts.template +43 -0
  75. package/src/generators/bot-app/files/src/server/bot/plugins/ai-agents/index.ts.template +30 -0
  76. package/src/generators/bot-app/files/src/server/bot/plugins/flow-builder/index.ts.template +28 -0
  77. package/src/generators/bot-app/files/src/server/bot/plugins/index.ts.template +11 -0
  78. package/src/generators/bot-app/files/src/server/bot/routes.ts.template +23 -0
  79. package/src/generators/bot-app/files/src/server/bot/tools/index.ts.template +5 -0
  80. package/src/generators/bot-app/files/src/server/bot/tracking.ts.template +35 -0
  81. package/src/generators/bot-app/files/src/server/bot/types.ts.template +4 -0
  82. package/src/generators/bot-app/files/src/server/bot/utils.ts.template +9 -0
  83. package/src/generators/bot-app/files/src/server/lambda/handler.js.template +24 -0
  84. package/src/generators/bot-app/files/src/server/lambda/package.json +20 -0
  85. package/src/generators/bot-app/files/src/server/lambda/template.yaml.template +20 -0
  86. package/src/generators/bot-app/files/src/shared/constants.ts.template +12 -0
  87. package/src/generators/bot-app/files/vite/base-client.config.ts.template +14 -0
  88. package/src/generators/bot-app/files/vite/base.config.ts.template +20 -0
  89. package/src/generators/bot-app/files/vite/build.config.ts.template +65 -0
  90. package/src/generators/bot-app/files/vite/node.config.ts.template +41 -0
  91. package/src/generators/bot-app/files/vite/plugins/move-html.plugin.ts.template +36 -0
  92. package/src/generators/bot-app/files/vite/webchat.config.ts.template +58 -0
  93. package/src/generators/bot-app/files/vite/webviews.config.ts.template +57 -0
  94. package/src/generators/bot-app/files/vite.config.ts.template +36 -0
  95. package/src/generators/bot-app/generator.d.ts +4 -0
  96. package/src/generators/bot-app/generator.js +294 -0
  97. package/src/generators/bot-app/schema.d.ts +6 -0
  98. package/src/generators/bot-app/schema.js +16 -0
  99. package/src/generators/bot-app/schema.json +36 -0
  100. package/src/generators/bot-app-migrations/migrate-fix-css-code-split/generator.d.ts +5 -0
  101. package/src/generators/bot-app-migrations/migrate-fix-css-code-split/generator.js +92 -0
  102. package/src/generators/bot-app-migrations/migrate-fix-css-code-split/schema.json +15 -0
  103. package/src/generators/bot-app-migrations/migrate-pnpm-compat/generator.d.ts +5 -0
  104. package/src/generators/bot-app-migrations/migrate-pnpm-compat/generator.js +97 -0
  105. package/src/generators/bot-app-migrations/migrate-pnpm-compat/schema.json +15 -0
  106. package/src/generators/bot-app-migrations/migrate-webchat-trigger/generator.d.ts +5 -0
  107. package/src/generators/bot-app-migrations/migrate-webchat-trigger/generator.js +165 -0
  108. package/src/generators/bot-app-migrations/migrate-webchat-trigger/schema.json +15 -0
  109. package/src/generators/custom-message/files/__name__-output.ts.template +21 -0
  110. package/src/generators/custom-message/files/__name__.spec.tsx.template +27 -0
  111. package/src/generators/custom-message/files/__name__.tsx.template +18 -0
  112. package/src/generators/custom-message/generator.d.ts +4 -0
  113. package/src/generators/custom-message/generator.js +235 -0
  114. package/src/generators/custom-message/schema.d.ts +7 -0
  115. package/src/generators/custom-message/schema.js +16 -0
  116. package/src/generators/custom-message/schema.json +44 -0
  117. package/src/generators/preset/files/.cursor/commands/update-bot.md +5 -0
  118. package/src/generators/preset/files/.cursor/commands/update-botonic.md +5 -0
  119. package/src/generators/preset/files/.cursor/scripts/update-bot/discover-bots.sh +67 -0
  120. package/src/generators/preset/files/.cursor/scripts/update-bot/find-migration-guides.sh +70 -0
  121. package/src/generators/preset/files/.cursor/skills/botonic-action/SKILL.md +167 -0
  122. package/src/generators/preset/files/.cursor/skills/botonic-custom-message/SKILL.md +231 -0
  123. package/src/generators/preset/files/.cursor/skills/botonic-webview/SKILL.md +179 -0
  124. package/src/generators/preset/files/.env.prod.template +2 -0
  125. package/src/generators/preset/files/.env.template +2 -0
  126. package/src/generators/preset/files/.npmrc.template +1 -0
  127. package/src/generators/preset/files/README.md.template +174 -0
  128. package/src/generators/preset/files/nx.json +66 -0
  129. package/src/generators/preset/files/package.json +26 -0
  130. package/src/generators/preset/files/tsconfig.base.json +27 -0
  131. package/src/generators/preset/files/tsconfig.base.json.template +27 -0
  132. package/src/generators/preset/files/tsconfig.json +9 -0
  133. package/src/generators/preset/generator.d.ts +4 -0
  134. package/src/generators/preset/generator.js +127 -0
  135. package/src/generators/preset/schema.d.ts +6 -0
  136. package/src/generators/preset/schema.js +16 -0
  137. package/src/generators/preset/schema.json +50 -0
  138. package/src/generators/remove-custom-message/generator.d.ts +4 -0
  139. package/src/generators/remove-custom-message/generator.js +259 -0
  140. package/src/generators/remove-custom-message/schema.d.ts +6 -0
  141. package/src/generators/remove-custom-message/schema.js +16 -0
  142. package/src/generators/remove-custom-message/schema.json +39 -0
  143. package/src/generators/shared/bot-app-utils.d.ts +25 -0
  144. package/src/generators/shared/bot-app-utils.js +209 -0
  145. package/src/generators/webview/files/__name__.spec.tsx.template +20 -0
  146. package/src/generators/webview/files/__name__.tsx.template +19 -0
  147. package/src/generators/webview/generator.d.ts +4 -0
  148. package/src/generators/webview/generator.js +179 -0
  149. package/src/generators/webview/schema.d.ts +5 -0
  150. package/src/generators/webview/schema.js +16 -0
  151. package/src/generators/webview/schema.json +34 -0
  152. package/src/index.d.ts +7 -0
  153. package/src/index.js +56 -0
  154. package/src/lib/api-service.d.ts +110 -0
  155. package/src/lib/api-service.js +591 -0
  156. package/src/lib/bot-config.d.ts +30 -0
  157. package/src/lib/bot-config.js +203 -0
  158. package/src/lib/cloudflared-tunnel.d.ts +29 -0
  159. package/src/lib/cloudflared-tunnel.js +95 -0
  160. package/src/lib/constants.d.ts +13 -0
  161. package/src/lib/constants.js +60 -0
  162. package/src/lib/credentials-handler.d.ts +40 -0
  163. package/src/lib/credentials-handler.js +115 -0
  164. package/src/lib/index.d.ts +10 -0
  165. package/src/lib/index.js +47 -0
  166. package/src/lib/interfaces.d.ts +49 -0
  167. package/src/lib/interfaces.js +16 -0
  168. package/src/lib/util/executor-helpers.d.ts +97 -0
  169. package/src/lib/util/executor-helpers.js +574 -0
  170. package/src/lib/util/file-system.d.ts +8 -0
  171. package/src/lib/util/file-system.js +65 -0
  172. package/src/lib/util/sam-container-cleanup.d.ts +11 -0
  173. package/src/lib/util/sam-container-cleanup.js +55 -0
  174. package/src/lib/util/sam-template.d.ts +9 -0
  175. package/src/lib/util/sam-template.js +71 -0
  176. package/src/lib/util/system.d.ts +1 -0
  177. package/src/lib/util/system.js +30 -0
  178. package/src/migrations/add-botonic-update-bots-skill/add-botonic-update-bots-skill.migration.d.ts +2 -0
  179. package/src/migrations/add-botonic-update-bots-skill/add-botonic-update-bots-skill.migration.js +52 -0
  180. package/src/migrations/add-botonic-update-bots-skill/add-botonic-update-bots-skill.migration.md +23 -0
  181. package/src/migrations/add-botonic-update-bots-skill/files/.cursor/commands/update-bot.md +5 -0
  182. package/src/migrations/add-botonic-update-bots-skill/files/.cursor/commands/update-botonic.md +5 -0
  183. package/src/migrations/add-botonic-update-bots-skill/files/.cursor/scripts/update-bot/discover-bots.sh +67 -0
  184. package/src/migrations/add-botonic-update-bots-skill/files/.cursor/scripts/update-bot/find-migration-guides.sh +70 -0
  185. package/src/migrations/add-botonic-update-bots-skill/schema.json +5 -0
  186. package/src/migrations/add-lilara-registry/add-lilara-registry.migration.d.ts +2 -0
  187. package/src/migrations/add-lilara-registry/add-lilara-registry.migration.js +49 -0
  188. package/src/migrations/add-lilara-registry/schema.json +5 -0
  189. package/src/migrations/fix-css-code-split/fix-css-code-split.migration.md +45 -0
  190. package/src/migrations/remove-codeartifact-registry/remove-codeartifact-registry.migration.d.ts +2 -0
  191. package/src/migrations/remove-codeartifact-registry/remove-codeartifact-registry.migration.js +59 -0
  192. package/src/migrations/remove-codeartifact-registry/schema.json +5 -0
  193. package/src/migrations/sync-pending-bot-migrations/schema.json +5 -0
  194. package/src/migrations/sync-pending-bot-migrations/sync-pending-bot-migrations.migration.d.ts +2 -0
  195. package/src/migrations/sync-pending-bot-migrations/sync-pending-bot-migrations.migration.js +137 -0
  196. package/src/migrations/sync-pending-bot-migrations/sync-pending-bot-migrations.migration.md +19 -0
  197. package/src/migrations/update-cursor-commands-to-stubs/schema.json +5 -0
  198. package/src/migrations/update-cursor-commands-to-stubs/update-cursor-commands-to-stubs.migration.d.ts +2 -0
  199. package/src/migrations/update-cursor-commands-to-stubs/update-cursor-commands-to-stubs.migration.js +61 -0
  200. package/src/migrations/update-pnpm-workspace-scripts/schema.json +4 -0
  201. package/src/migrations/update-pnpm-workspace-scripts/update-pnpm-workspace-scripts.migration.d.ts +2 -0
  202. package/src/migrations/update-pnpm-workspace-scripts/update-pnpm-workspace-scripts.migration.js +47 -0
  203. package/src/migrations/utils/migration-utils.d.ts +109 -0
  204. package/src/migrations/utils/migration-utils.js +448 -0
  205. package/src/plugin.d.ts +15 -0
  206. package/src/plugin.js +246 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,420 @@
1
+ ## 2.23.0 (2026-03-23)
2
+
3
+ ### ๐Ÿš€ Features
4
+
5
+ - **nx-plugin:** add action and webview generators [BLT-2253] ([#749](https://github.com/metis-ai/hubtype-product/pull/749))
6
+
7
+ ### โค๏ธ Thank You
8
+
9
+ - David Hidalgo @Davidhidalgo
10
+
11
+ ## 2.22.1 (2026-03-19)
12
+
13
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
14
+
15
+ ## 2.22.0 (2026-03-16)
16
+
17
+ ### ๐Ÿš€ Features
18
+
19
+ - webchat to retrieve pusher config from backend ([#742](https://github.com/metis-ai/hubtype-product/pull/742))
20
+
21
+ ### โค๏ธ Thank You
22
+
23
+ - Marc Rabat @vanbasten17
24
+
25
+ ## 2.21.0 (2026-03-16)
26
+
27
+ ### ๐Ÿš€ Features
28
+
29
+ - **botonic-nx-plugin:** set prod as default serve config and improve first-run UX #BLT-2243 ([#735](https://github.com/metis-ai/hubtype-product/pull/735))
30
+
31
+ ### โค๏ธ Thank You
32
+
33
+ - David Hidalgo @Davidhidalgo
34
+
35
+ ## 2.20.0 (2026-03-13)
36
+
37
+ ### ๐Ÿš€ Features
38
+
39
+ - controlling lambda resources in docker ([#727](https://github.com/metis-ai/hubtype-product/pull/727))
40
+
41
+ ### โค๏ธ Thank You
42
+
43
+ - Marc Rabat @vanbasten17
44
+
45
+ ## 2.19.0 (2026-03-12)
46
+
47
+ ### ๐Ÿš€ Features
48
+
49
+ - serve executor refactored with automatic tunneling and global store credentials per environment, needed to support external collaborators ([#704](https://github.com/metis-ai/hubtype-product/pull/704))
50
+ - **webchat-react:** gateway pattern + lilara unified Storybook #BLT-2210 ([#717](https://github.com/metis-ai/hubtype-product/pull/717))
51
+ - add lilara release tooling and CI workflows #BLT-2209 ([#711](https://github.com/metis-ai/hubtype-product/pull/711))
52
+
53
+ ### โค๏ธ Thank You
54
+
55
+ - David Hidalgo @Davidhidalgo
56
+ - Marc Rabat @vanbasten17
57
+
58
+ ## 2.18.0 (2026-03-04)
59
+
60
+ ### ๐Ÿš€ Features
61
+
62
+ - **publishing:** package fixes, lilara rename & token/reset unification #BLT-2205 #BLT-2221 #BLT-2206 ([#701](https://github.com/metis-ai/hubtype-product/pull/701))
63
+
64
+ ### โค๏ธ Thank You
65
+
66
+ - David Hidalgo @Davidhidalgo
67
+
68
+ ## 2.17.0 (2026-03-02)
69
+
70
+ ### ๐Ÿš€ Features
71
+
72
+ - **botonic/nx-plugin:** split bot-app migrations into on-demand generators [BLT-2194] ([#695](https://github.com/metis-ai/hubtype-product/pull/695))
73
+ - botonic working with v2 input format ([#660](https://github.com/metis-ai/hubtype-product/pull/660))
74
+
75
+ ### โค๏ธ Thank You
76
+
77
+ - David Hidalgo @Davidhidalgo
78
+ - Marc Rabat @vanbasten17
79
+
80
+ ## 2.16.0 (2026-02-23)
81
+
82
+ ### ๐Ÿš€ Features
83
+
84
+ - **webchat-trigger:** Figma design tokens, animations, and theme overrides ([#679](https://github.com/metis-ai/hubtype-product/pull/679))
85
+ - **webchat:** lazy loading trigger with optimized bundle splitting ([#614](https://github.com/metis-ai/hubtype-product/pull/614))
86
+
87
+ ### ๐Ÿฉน Fixes
88
+
89
+ - **botonic:** css not loading after build #BLT-2195 ([#687](https://github.com/metis-ai/hubtype-product/pull/687))
90
+
91
+ ### โค๏ธ Thank You
92
+
93
+ - David Hidalgo @Davidhidalgo
94
+
95
+ ## 2.15.0 (2026-02-13)
96
+
97
+ ### ๐Ÿš€ Features
98
+
99
+ - enable new features for BotonicV2 #BLT-2174 ([#649](https://github.com/metis-ai/hubtype-product/pull/649))
100
+
101
+ ### โค๏ธ Thank You
102
+
103
+ - Oriol Raventรณs @Iru89
104
+
105
+ ## 2.14.0 (2026-02-05)
106
+
107
+ ### ๐Ÿš€ Features
108
+
109
+ - **botonic:** add E2E publish flow testing with Verdaccio ([#577](https://github.com/metis-ai/hubtype-product/pull/577))
110
+
111
+ ### โค๏ธ Thank You
112
+
113
+ - Marc Rabat @vanbasten17
114
+
115
+ ## 2.13.4 (2026-02-02)
116
+
117
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
118
+
119
+ ## 2.13.3 (2026-01-30)
120
+
121
+ ### ๐Ÿฉน Fixes
122
+
123
+ - botonic deps to be bundled within lambda dist, add fake env varsโ€ฆ ([#575](https://github.com/metis-ai/hubtype-product/pull/575))
124
+
125
+ ### โค๏ธ Thank You
126
+
127
+ - Marc Rabat @vanbasten17
128
+
129
+ ## 2.13.2 (2026-01-30)
130
+
131
+ ### ๐Ÿฉน Fixes
132
+
133
+ - broken styles after publishing packages and use of them along with generator ([#571](https://github.com/metis-ai/hubtype-product/pull/571))
134
+
135
+ ### โค๏ธ Thank You
136
+
137
+ - Marc Rabat @vanbasten17
138
+
139
+ ## 2.13.1 (2026-01-30)
140
+
141
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
142
+
143
+ ## 2.13.0 (2026-01-29)
144
+
145
+ ### ๐Ÿš€ Features
146
+
147
+ - add generic overlay system for webviews and cover components ([#547](https://github.com/metis-ai/hubtype-product/pull/547))
148
+
149
+ ### ๐Ÿฉน Fixes
150
+
151
+ - switch to single bundled CSS file ([#564](https://github.com/metis-ai/hubtype-product/pull/564))
152
+
153
+ ### โค๏ธ Thank You
154
+
155
+ - David Hidalgo @Davidhidalgo
156
+ - Marc Rabat @vanbasten17
157
+
158
+ ## 2.12.0 (2026-01-28)
159
+
160
+ ### ๐Ÿš€ Features
161
+
162
+ - enhance post-build script and executor for .env file management ([#560](https://github.com/metis-ai/hubtype-product/pull/560))
163
+
164
+ ### โค๏ธ Thank You
165
+
166
+ - David Hidalgo @Davidhidalgo
167
+
168
+ ## 2.11.5 (2026-01-28)
169
+
170
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
171
+
172
+ ## 2.11.4 (2026-01-28)
173
+
174
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
175
+
176
+ ## 2.11.3 (2026-01-28)
177
+
178
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
179
+
180
+ ## 2.11.2 (2026-01-21)
181
+
182
+ ### ๐Ÿฉน Fixes
183
+
184
+ - update package.json path resolution in bot app and preset generators to ensure correct version retrieval ([#539](https://github.com/metis-ai/hubtype-product/pull/539))
185
+
186
+ ### โค๏ธ Thank You
187
+
188
+ - David Hidalgo @Davidhidalgo
189
+
190
+ ## 2.11.1 (2026-01-21)
191
+
192
+ ### ๐Ÿฉน Fixes
193
+
194
+ - botonicVersion on bot app generator now uses the current version by default ([#537](https://github.com/metis-ai/hubtype-product/pull/537))
195
+
196
+ ### โค๏ธ Thank You
197
+
198
+ - David Hidalgo @Davidhidalgo
199
+
200
+ ## 2.11.0 (2026-01-21)
201
+
202
+ ### ๐Ÿš€ Features
203
+
204
+ - use webview contents hook in botonic webviews package #BLT-2039 ([#510](https://github.com/metis-ai/hubtype-product/pull/510))
205
+
206
+ ### ๐Ÿฉน Fixes
207
+
208
+ - dist to not be included in lint processes ([#536](https://github.com/metis-ai/hubtype-product/pull/536))
209
+
210
+ ### โค๏ธ Thank You
211
+
212
+ - Marc Rabat @vanbasten17
213
+
214
+ ## 2.10.1 (2026-01-19)
215
+
216
+ ### ๐Ÿฉน Fixes
217
+
218
+ - fix outdated optimize dep vite error and each app to have its own cache ([#531](https://github.com/metis-ai/hubtype-product/pull/531))
219
+
220
+ ### โค๏ธ Thank You
221
+
222
+ - Marc Rabat @vanbasten17
223
+
224
+ ## 2.10.0 (2026-01-18)
225
+
226
+ ### ๐Ÿš€ Features
227
+
228
+ - update nx-plugin project configuration for CommonJS ([#529](https://github.com/metis-ai/hubtype-product/pull/529))
229
+
230
+ ### โค๏ธ Thank You
231
+
232
+ - David Hidalgo @Davidhidalgo
233
+
234
+ ## 2.9.1 (2026-01-17)
235
+
236
+ ### ๐Ÿฉน Fixes
237
+
238
+ - Botonic version resolution in generators ([#527](https://github.com/metis-ai/hubtype-product/pull/527))
239
+
240
+ ### โค๏ธ Thank You
241
+
242
+ - David Hidalgo @Davidhidalgo
243
+
244
+ ## 2.9.0 (2026-01-17)
245
+
246
+ ### ๐Ÿš€ Features
247
+
248
+ - add esbuild plugin for .js extension handling and update project configuration ([#525](https://github.com/metis-ai/hubtype-product/pull/525))
249
+
250
+ ### โค๏ธ Thank You
251
+
252
+ - David Hidalgo @Davidhidalgo
253
+
254
+ ## 2.8.1 (2026-01-16)
255
+
256
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
257
+
258
+ ## 2.8.0 (2026-01-16)
259
+
260
+ ### ๐Ÿฉน Fixes
261
+
262
+ - update Git configuration in workflows to use environment variables for user name and email ([#520](https://github.com/metis-ai/hubtype-product/pull/520))
263
+ - cleanup botonic migrations ([#518](https://github.com/metis-ai/hubtype-product/pull/518))
264
+ - update bot app creation command in generator output ([#516](https://github.com/metis-ai/hubtype-product/pull/516))
265
+ - Update release workflow to use GitHub App token for authentication and streamline PR creation process ([#515](https://github.com/metis-ai/hubtype-product/pull/515))
266
+
267
+ ### โค๏ธ Thank You
268
+
269
+ - David Hidalgo @Davidhidalgo
270
+
271
+ ## 2.7.1 (2026-01-16)
272
+
273
+ ### ๐Ÿฉน Fixes
274
+
275
+ - cleanup botonic migrations ([#518](https://github.com/metis-ai/hubtype-product/pull/518))
276
+ - update bot app creation command in generator output ([#516](https://github.com/metis-ai/hubtype-product/pull/516))
277
+ - Update release workflow to use GitHub App token for authentication and streamline PR creation process ([#515](https://github.com/metis-ai/hubtype-product/pull/515))
278
+
279
+ ### โค๏ธ Thank You
280
+
281
+ - David Hidalgo @Davidhidalgo
282
+
283
+ ## 2.7.0 (2026-01-15)
284
+
285
+ ### ๐Ÿฉน Fixes
286
+
287
+ - update CI workflow to skip affected targets for release branches ([7cbf270a](https://github.com/metis-ai/hubtype-product/commit/7cbf270a))
288
+
289
+ ### โค๏ธ Thank You
290
+
291
+ - David Hidalgo
292
+
293
+ ## 2.6.0 (2025-12-09)
294
+
295
+ ### ๐Ÿฉน Fixes
296
+
297
+ - remove '@botonic/plugin-knowledge-bases' from package.json dependencies in bot-app generator ([#485](https://github.com/metis-ai/hubtype-product/pull/485))
298
+
299
+ ### โค๏ธ Thank You
300
+
301
+ - David Hidalgo @Davidhidalgo
302
+
303
+ ## 2.5.0 (2025-12-09)
304
+
305
+ ### ๐Ÿš€ Features
306
+
307
+ - refine packageManager options in PresetGeneratorSchema to remove unsupported values ([#482](https://github.com/metis-ai/hubtype-product/pull/482))
308
+ - update GitHub Actions to use RELEASE_PAT for authentication and refine packageManager options in BotAppGeneratorSchema ([#481](https://github.com/metis-ai/hubtype-product/pull/481))
309
+
310
+ ### โค๏ธ Thank You
311
+
312
+ - David Hidalgo @Davidhidalgo
313
+
314
+ ## 2.4.1 (2025-12-08)
315
+
316
+ ### ๐Ÿฉน Fixes
317
+
318
+ - enhance botonic release and support backporting ([#474](https://github.com/metis-ai/hubtype-product/pull/474))
319
+
320
+ ### โค๏ธ Thank You
321
+
322
+ - David Hidalgo @Davidhidalgo
323
+
324
+ ## 2.4.0 (2025-12-05)
325
+
326
+ ### ๐Ÿš€ Features
327
+
328
+ - **nx-plugin:** fine tunning generators #BLT-2049 ([#468](https://github.com/metis-ai/hubtype-product/pull/468))
329
+
330
+ ### โค๏ธ Thank You
331
+
332
+ - David Hidalgo @Davidhidalgo
333
+
334
+ ## 2.3.3 (2025-12-04)
335
+
336
+ ### ๐Ÿฉน Fixes
337
+
338
+ - **nx-plugin:** remove ESM compatibility script and update imports to CommonJS style; adjust package.json and project.json for cleaner configuration ([248b21bd4](https://github.com/metis-ai/hubtype-product/commit/248b21bd4))
339
+
340
+ ### โค๏ธ Thank You
341
+
342
+ - David Hidalgo
343
+
344
+ ## 2.3.2 (2025-12-04)
345
+
346
+ ### ๐Ÿฉน Fixes
347
+
348
+ - **nx-plugin:** replace direct import of 'prompt' from 'enquirer' with destructured import from 'enquirer' across multiple executors and utility files ([9c240bfc5](https://github.com/metis-ai/hubtype-product/commit/9c240bfc5))
349
+
350
+ ### โค๏ธ Thank You
351
+
352
+ - David Hidalgo
353
+
354
+ ## 2.3.1 (2025-12-04)
355
+
356
+ ### ๐Ÿฉน Fixes
357
+
358
+ - **nx-plugin:** enhance ESM compatibility by adding .js extensions to imports and JSON config paths ([61277d622](https://github.com/metis-ai/hubtype-product/commit/61277d622))
359
+
360
+ ### โค๏ธ Thank You
361
+
362
+ - David Hidalgo
363
+
364
+ ## 2.3.0 (2025-12-04)
365
+
366
+ ### ๐Ÿš€ Features
367
+
368
+ - **nx-plugin:** add build and fix-esm-paths commands to project.json; implement script for ESM compatibility ([7e8843b48](https://github.com/metis-ai/hubtype-product/commit/7e8843b48))
369
+
370
+ ### โค๏ธ Thank You
371
+
372
+ - David Hidalgo
373
+
374
+ ## 2.2.1 (2025-12-04)
375
+
376
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
377
+
378
+ ## 2.2.0 (2025-12-04)
379
+
380
+ ### ๐Ÿš€ Features
381
+
382
+ - update bot app generator ([#455](https://github.com/metis-ai/hubtype-product/pull/455))
383
+ - add custom tool and bot action ([#452](https://github.com/metis-ai/hubtype-product/pull/452))
384
+ - improved serve-dev proposal, all-in-one terminal ([#448](https://github.com/metis-ai/hubtype-product/pull/448))
385
+ - add RELEASE.json for versioning and update logic in release process ([#440](https://github.com/metis-ai/hubtype-product/pull/440))
386
+ - enhance bot app generator with customizable options and global render function ([#439](https://github.com/metis-ai/hubtype-product/pull/439))
387
+ - fine tuning botonic release #BLT-2010 ([#428](https://github.com/metis-ai/hubtype-product/pull/428))
388
+
389
+ ### ๐Ÿฉน Fixes
390
+
391
+ - preset generator and release tag creation on local fixed ([#461](https://github.com/metis-ai/hubtype-product/pull/461))
392
+ - botonic release ([#445](https://github.com/metis-ai/hubtype-product/pull/445))
393
+ - botonic v2 release ([#441](https://github.com/metis-ai/hubtype-product/pull/441))
394
+
395
+ ### โค๏ธ Thank You
396
+
397
+ - David Hidalgo @Davidhidalgo
398
+ - Marc Rabat @vanbasten17
399
+ - Oriol Raventรณs @Iru89
400
+
401
+ ## 2.1.0 (2025-12-02)
402
+
403
+ ### ๐Ÿš€ Features
404
+
405
+ - add RELEASE.json for versioning and update logic in release process ([#440](https://github.com/metis-ai/hubtype-product/pull/440))
406
+ - enhance bot app generator with customizable options and global render function ([#439](https://github.com/metis-ai/hubtype-product/pull/439))
407
+ - fine tuning botonic release #BLT-2010 ([#428](https://github.com/metis-ai/hubtype-product/pull/428))
408
+
409
+ ### ๐Ÿฉน Fixes
410
+
411
+ - botonic release ([#445](https://github.com/metis-ai/hubtype-product/pull/445))
412
+ - botonic v2 release ([#441](https://github.com/metis-ai/hubtype-product/pull/441))
413
+
414
+ ### โค๏ธ Thank You
415
+
416
+ - David Hidalgo @Davidhidalgo
417
+
418
+ ## 2.0.1-alpha.0 (2025-11-27)
419
+
420
+ This was a version bump only for @botonic/nx-plugin to align it with other projects, there were no code changes.
package/README.md ADDED
@@ -0,0 +1,279 @@
1
+ # @botonic/nx-plugin
2
+
3
+ An Nx plugin for Botonic projects that provides generators and migration tools.
4
+
5
+ ## Features
6
+
7
+ - **Bot App Generator**: Creates modern Botonic bot applications with current best practices
8
+ - **Migration Tools**: Automatically modernizes legacy Botonic bots to use current patterns
9
+ - **Local runtime (no Docker)**: Run and test against the real backend using an external Lambda URL (e.g. ngrok) โ€” see [External developer workflow](docs/external-developer-local-runtime-workflow.md)
10
+
11
+ ## Installation
12
+
13
+ ```bash
14
+ pnpm install@botonic/nx-plugin
15
+ ```
16
+
17
+ ## Generators
18
+
19
+ ### Bot App Generator
20
+
21
+ Creates a new Botonic bot application with modern patterns:
22
+
23
+ ```bash
24
+ nx g @botonic/nx-plugin:bot-app my-bot
25
+ ```
26
+
27
+ #### What it creates:
28
+
29
+ - **Modern Actions**: Async functions using `BotContext` instead of React class components
30
+ - **React 18 Webchat**: Uses `@botonic/webchat` with `createRoot` and `StrictMode`
31
+ - **Current Dependencies**: Uses modern Botonic packages and avoids legacy packages
32
+ - **Custom Messages Structure**: Empty structure ready for your custom components
33
+
34
+ ## Migrations
35
+
36
+ ### Modernize Bot Actions
37
+
38
+ This migration automatically updates legacy Botonic bots to use current patterns and technologies.
39
+
40
+ #### Running the Migration
41
+
42
+ **Interactive project selection (recommended):**
43
+
44
+ ```bash
45
+ nx migrate @botonic/nx-plugin
46
+ ```
47
+
48
+ When you have multiple bot projects, the migration will show an interactive prompt:
49
+
50
+ ```
51
+ ๐Ÿ“ฆ Found 3 Botonic bot project(s)
52
+ ๐ŸŽฏ Select which projects to modernize:
53
+
54
+ โฏ โ—ฏ customer-support-bot (needs migration)
55
+ โ—ฏ sales-bot (already modern)
56
+ โ—ฏ legacy-bot (needs migration)
57
+ ```
58
+
59
+ Use arrow keys to navigate, spacebar to select/unselect, and Enter to confirm.
60
+
61
+ **Migrate all bot projects (non-interactive):**
62
+
63
+ ```bash
64
+ # For single project workspaces or automated scripts
65
+ nx migrate @botonic/nx-plugin --run-migrations
66
+ ```
67
+
68
+ **Migrate specific projects (command line):**
69
+
70
+ ```bash
71
+ # Using generator with specific projects
72
+ nx g @botonic/nx-plugin:modernize-bot-actions --projects=my-bot,another-bot
73
+
74
+ # Or using migration file directly
75
+ nx migrate @botonic/nx-plugin --run-migrations=migration.json
76
+ ```
77
+
78
+ **Project naming:**
79
+
80
+ - You can use project names with or without the `apps/` prefix
81
+ - `my-bot` and `apps/my-bot` are equivalent
82
+ - Invalid projects will be rejected with helpful error messages
83
+
84
+ **Examples:**
85
+
86
+ ```bash
87
+ # Migrate a single project
88
+ nx g @botonic/nx-plugin:modernize-bot-actions --projects=customer-support-bot
89
+
90
+ # Migrate multiple specific projects
91
+ nx g @botonic/nx-plugin:modernize-bot-actions --projects=bot-1,bot-2,bot-3
92
+
93
+ # Interactive selection (when multiple projects exist)
94
+ nx migrate @botonic/nx-plugin
95
+ ```
96
+
97
+ #### Automatic Migration on Upgrade
98
+
99
+ The migration will automatically run when you upgrade the package:
100
+
101
+ ```bash
102
+ # Upgrade will prompt for pending migrations
103
+ pnpm install@botonic/nx-plugin@latest
104
+ nx migrate @botonic/nx-plugin --run-migrations
105
+ ```
106
+
107
+ #### What migrations do:
108
+
109
+ Migrations automatically update your Botonic projects to use current patterns, dependencies, and best practices. Each migration:
110
+
111
+ 1. **Code Modernization**:
112
+ - Updates code patterns to use current Botonic APIs
113
+ - Transforms legacy implementations to modern equivalents
114
+ - Maintains existing functionality while improving structure
115
+
116
+ 2. **Dependency Management**:
117
+ - Updates Botonic packages to target versions
118
+ - Ensures compatibility across all dependencies
119
+ - Removes deprecated packages when appropriate
120
+
121
+ 3. **Configuration Updates**:
122
+ - Updates project configuration files
123
+ - Applies current best practices and conventions
124
+ - Maintains backward compatibility where possible
125
+
126
+ 4. **Structure Improvements**:
127
+ - Creates missing files or folders as needed
128
+ - Updates file organization to current standards
129
+ - Ensures projects follow recommended patterns
130
+
131
+ #### Project Selection Benefits
132
+
133
+ - **๐ŸŽฏ Interactive Selection**: Visual checkboxes with clear status indicators
134
+ - **๐Ÿ“Š Smart Detection**: Automatically detects which projects need migration vs already modern
135
+ - **๐Ÿงช Test Gradually**: Migrate one bot at a time to test changes
136
+ - **โšก Selective Updates**: Only modernize bots that are ready
137
+ - **๐Ÿšซ Avoid Conflicts**: Skip bots with ongoing development
138
+ - **๐Ÿ”ง Better Control**: Choose which projects to update in each run
139
+ - **๐Ÿ’ก Clear Status**: See "(needs migration)" or "(already modern)" labels
140
+
141
+ #### Example Transformation
142
+
143
+ **Before (legacy React class component):**
144
+
145
+ ```typescript
146
+ import React from 'react'
147
+ import { Text } from '@botonic/react'
148
+
149
+ export class Welcome extends React.Component {
150
+ render() {
151
+ return (
152
+ <Text>
153
+ Hello! I'm your bot ๐Ÿค–
154
+ <br />
155
+ Welcome to Botonic!
156
+ </Text>
157
+ )
158
+ }
159
+ }
160
+ ```
161
+
162
+ **After (modern async function):**
163
+
164
+ ```typescript
165
+ import { BotContext } from '@botonic/core'
166
+ import { MessageAction } from '@botonic/shared'
167
+
168
+ export async function Welcome({ sendMessage }: BotContext) {
169
+ await sendMessage([
170
+ {
171
+ type: 'text',
172
+ data: { text: "Hello! I'm your bot ๐Ÿค–\nWelcome to Botonic!" },
173
+ action: MessageAction.SentByBot,
174
+ },
175
+ ])
176
+
177
+ return {
178
+ status: 200,
179
+ response: 'OK',
180
+ }
181
+ }
182
+ ```
183
+
184
+ #### Reviewing Changes
185
+
186
+ After running the migration, review what changed:
187
+
188
+ ```bash
189
+ git diff
190
+ ```
191
+
192
+ The migration is **idempotent** - it's safe to run multiple times and will only transform files that need updating.
193
+
194
+ #### Manual Testing
195
+
196
+ Run the included test to verify migration functionality:
197
+
198
+ ```bash
199
+ # From the plugin directory
200
+ pnpm run test:migration
201
+ ```
202
+
203
+ This test creates sample legacy bots and verifies the migration transforms them correctly, including project selection functionality.
204
+
205
+ #### Version Management
206
+
207
+ The migration is tied to the package version. When you upgrade `@botonic/nx-plugin`, Nx will automatically prompt you to run any new migrations:
208
+
209
+ ```bash
210
+ # Check for available migrations
211
+ nx migrate @botonic/nx-plugin
212
+
213
+ # Run pending migrations
214
+ nx migrate --run-migrations
215
+ ```
216
+
217
+ ## Development
218
+
219
+ ### Building
220
+
221
+ ```bash
222
+ nx build nx-plugin
223
+ ```
224
+
225
+ ### Testing
226
+
227
+ ```bash
228
+ nx test nx-plugin
229
+ ```
230
+
231
+ ### Manual Migration Testing
232
+
233
+ ```bash
234
+ # Run the migration test script
235
+ pnpm run test:migration
236
+ ```
237
+
238
+ ## Troubleshooting
239
+
240
+ ### Migration Issues
241
+
242
+ 1. **Backup your code** before running migrations (or ensure you have git)
243
+ 2. **Review changes** with `git diff` after migration
244
+ 3. **Test your bot** after migration to ensure functionality
245
+ 4. **Check action logic** for any custom implementations that may need manual updates
246
+
247
+ ### Common Issues
248
+
249
+ - **Custom action logic**: If your actions have complex business logic, you may need to manually adapt the async function pattern
250
+ - **Custom messages**: The migration creates an empty custom messages structure - add your existing custom components
251
+ - **Environment variables**: Ensure `VITE_HUBTYPE_APP_ID` is set for the modernized webchat
252
+ - **Invalid projects**: If you specify invalid project names, the migration will list available bot projects
253
+
254
+ ### Project Selection
255
+
256
+ - **Finding projects**: The migration will list all available bot projects if you specify an invalid one
257
+ - **Mixed naming**: You can mix project names with and without `apps/` prefix in the same command
258
+ - **Non-bot projects**: Projects without Botonic bot structure are automatically ignored
259
+
260
+ ### Safe Migration
261
+
262
+ Migrations are designed to be safe:
263
+
264
+ - **Idempotent**: Safe to run multiple times
265
+ - **Conservative**: Only transforms known legacy patterns
266
+ - **Preserves functionality**: Maintains the same bot behavior
267
+ - **Project validation**: Validates project names before making changes
268
+
269
+ ## Contributing
270
+
271
+ 1. Fork the repository
272
+ 2. Create your feature branch
273
+ 3. Add tests for new functionality
274
+ 4. Ensure all tests pass
275
+ 5. Submit a pull request
276
+
277
+ ## License
278
+
279
+ MIT