@alagoni97/cli 0.72.1

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 (244) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +336 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/dev.mjs +3 -0
  5. package/bin/run.cmd +3 -0
  6. package/bin/run.mjs +4 -0
  7. package/dist/LoggingInterface.d.ts +123 -0
  8. package/dist/LoggingInterface.js +300 -0
  9. package/dist/PersistedConfig.d.ts +46 -0
  10. package/dist/PersistedConfig.js +94 -0
  11. package/dist/browser/adapters/output.d.ts +69 -0
  12. package/dist/browser/adapters/output.js +91 -0
  13. package/dist/browser/config.d.ts +18 -0
  14. package/dist/browser/config.js +59 -0
  15. package/dist/browser/generate.d.ts +20 -0
  16. package/dist/browser/generate.js +129 -0
  17. package/dist/browser/index.d.ts +17 -0
  18. package/dist/browser/index.js +26 -0
  19. package/dist/browser/parser.d.ts +9 -0
  20. package/dist/browser/parser.js +61 -0
  21. package/dist/browser/shims/asyncapi-parser.d.ts +30 -0
  22. package/dist/browser/shims/asyncapi-parser.js +52 -0
  23. package/dist/browser/shims/fs.d.ts +190 -0
  24. package/dist/browser/shims/fs.js +188 -0
  25. package/dist/browser/shims/json-schema-ref-parser.d.ts +73 -0
  26. package/dist/browser/shims/json-schema-ref-parser.js +246 -0
  27. package/dist/browser/shims/swagger-parser.d.ts +20 -0
  28. package/dist/browser/shims/swagger-parser.js +40 -0
  29. package/dist/codegen/configurationSchemaBuilder.d.ts +15 -0
  30. package/dist/codegen/configurationSchemaBuilder.js +48 -0
  31. package/dist/codegen/configurations.d.ts +29 -0
  32. package/dist/codegen/configurations.js +260 -0
  33. package/dist/codegen/detection.d.ts +19 -0
  34. package/dist/codegen/detection.js +174 -0
  35. package/dist/codegen/errors.d.ts +111 -0
  36. package/dist/codegen/errors.js +352 -0
  37. package/dist/codegen/generators/generic/custom.d.ts +75 -0
  38. package/dist/codegen/generators/generic/custom.js +66 -0
  39. package/dist/codegen/generators/index.d.ts +14 -0
  40. package/dist/codegen/generators/index.js +42 -0
  41. package/dist/codegen/generators/typescript/channels/asyncapi.d.ts +10 -0
  42. package/dist/codegen/generators/typescript/channels/asyncapi.js +131 -0
  43. package/dist/codegen/generators/typescript/channels/index.d.ts +8 -0
  44. package/dist/codegen/generators/typescript/channels/index.js +142 -0
  45. package/dist/codegen/generators/typescript/channels/openapi.d.ts +9 -0
  46. package/dist/codegen/generators/typescript/channels/openapi.js +168 -0
  47. package/dist/codegen/generators/typescript/channels/protocols/amqp/index.d.ts +7 -0
  48. package/dist/codegen/generators/typescript/channels/protocols/amqp/index.js +149 -0
  49. package/dist/codegen/generators/typescript/channels/protocols/amqp/publishExchange.d.ts +5 -0
  50. package/dist/codegen/generators/typescript/channels/protocols/amqp/publishExchange.js +106 -0
  51. package/dist/codegen/generators/typescript/channels/protocols/amqp/publishQueue.d.ts +3 -0
  52. package/dist/codegen/generators/typescript/channels/protocols/amqp/publishQueue.js +102 -0
  53. package/dist/codegen/generators/typescript/channels/protocols/amqp/subscribeQueue.d.ts +3 -0
  54. package/dist/codegen/generators/typescript/channels/protocols/amqp/subscribeQueue.js +133 -0
  55. package/dist/codegen/generators/typescript/channels/protocols/eventsource/express.d.ts +3 -0
  56. package/dist/codegen/generators/typescript/channels/protocols/eventsource/express.js +100 -0
  57. package/dist/codegen/generators/typescript/channels/protocols/eventsource/fetch.d.ts +5 -0
  58. package/dist/codegen/generators/typescript/channels/protocols/eventsource/fetch.js +144 -0
  59. package/dist/codegen/generators/typescript/channels/protocols/eventsource/index.d.ts +6 -0
  60. package/dist/codegen/generators/typescript/channels/protocols/eventsource/index.js +132 -0
  61. package/dist/codegen/generators/typescript/channels/protocols/http/client.d.ts +10 -0
  62. package/dist/codegen/generators/typescript/channels/protocols/http/client.js +224 -0
  63. package/dist/codegen/generators/typescript/channels/protocols/http/common-types.d.ts +14 -0
  64. package/dist/codegen/generators/typescript/channels/protocols/http/common-types.js +800 -0
  65. package/dist/codegen/generators/typescript/channels/protocols/http/index.d.ts +8 -0
  66. package/dist/codegen/generators/typescript/channels/protocols/http/index.js +96 -0
  67. package/dist/codegen/generators/typescript/channels/protocols/http/security.d.ts +48 -0
  68. package/dist/codegen/generators/typescript/channels/protocols/http/security.js +491 -0
  69. package/dist/codegen/generators/typescript/channels/protocols/kafka/index.d.ts +6 -0
  70. package/dist/codegen/generators/typescript/channels/protocols/kafka/index.js +127 -0
  71. package/dist/codegen/generators/typescript/channels/protocols/kafka/publish.d.ts +3 -0
  72. package/dist/codegen/generators/typescript/channels/protocols/kafka/publish.js +108 -0
  73. package/dist/codegen/generators/typescript/channels/protocols/kafka/subscribe.d.ts +3 -0
  74. package/dist/codegen/generators/typescript/channels/protocols/kafka/subscribe.js +154 -0
  75. package/dist/codegen/generators/typescript/channels/protocols/kafka/utils.d.ts +11 -0
  76. package/dist/codegen/generators/typescript/channels/protocols/kafka/utils.js +58 -0
  77. package/dist/codegen/generators/typescript/channels/protocols/mqtt/index.d.ts +6 -0
  78. package/dist/codegen/generators/typescript/channels/protocols/mqtt/index.js +113 -0
  79. package/dist/codegen/generators/typescript/channels/protocols/mqtt/publish.d.ts +3 -0
  80. package/dist/codegen/generators/typescript/channels/protocols/mqtt/publish.js +99 -0
  81. package/dist/codegen/generators/typescript/channels/protocols/mqtt/subscribe.d.ts +3 -0
  82. package/dist/codegen/generators/typescript/channels/protocols/mqtt/subscribe.js +186 -0
  83. package/dist/codegen/generators/typescript/channels/protocols/nats/corePublish.d.ts +3 -0
  84. package/dist/codegen/generators/typescript/channels/protocols/nats/corePublish.js +90 -0
  85. package/dist/codegen/generators/typescript/channels/protocols/nats/coreReply.d.ts +3 -0
  86. package/dist/codegen/generators/typescript/channels/protocols/nats/coreReply.js +142 -0
  87. package/dist/codegen/generators/typescript/channels/protocols/nats/coreRequest.d.ts +3 -0
  88. package/dist/codegen/generators/typescript/channels/protocols/nats/coreRequest.js +100 -0
  89. package/dist/codegen/generators/typescript/channels/protocols/nats/coreSubscribe.d.ts +3 -0
  90. package/dist/codegen/generators/typescript/channels/protocols/nats/coreSubscribe.js +143 -0
  91. package/dist/codegen/generators/typescript/channels/protocols/nats/index.d.ts +11 -0
  92. package/dist/codegen/generators/typescript/channels/protocols/nats/index.js +224 -0
  93. package/dist/codegen/generators/typescript/channels/protocols/nats/jetstreamPublish.d.ts +3 -0
  94. package/dist/codegen/generators/typescript/channels/protocols/nats/jetstreamPublish.js +89 -0
  95. package/dist/codegen/generators/typescript/channels/protocols/nats/jetstreamPullSubscribe.d.ts +3 -0
  96. package/dist/codegen/generators/typescript/channels/protocols/nats/jetstreamPullSubscribe.js +146 -0
  97. package/dist/codegen/generators/typescript/channels/protocols/nats/jetstreamPushSubscription.d.ts +3 -0
  98. package/dist/codegen/generators/typescript/channels/protocols/nats/jetstreamPushSubscription.js +149 -0
  99. package/dist/codegen/generators/typescript/channels/protocols/nats/utils.d.ts +35 -0
  100. package/dist/codegen/generators/typescript/channels/protocols/nats/utils.js +120 -0
  101. package/dist/codegen/generators/typescript/channels/protocols/websocket/index.d.ts +7 -0
  102. package/dist/codegen/generators/typescript/channels/protocols/websocket/index.js +152 -0
  103. package/dist/codegen/generators/typescript/channels/protocols/websocket/publish.d.ts +3 -0
  104. package/dist/codegen/generators/typescript/channels/protocols/websocket/publish.js +64 -0
  105. package/dist/codegen/generators/typescript/channels/protocols/websocket/register.d.ts +3 -0
  106. package/dist/codegen/generators/typescript/channels/protocols/websocket/register.js +115 -0
  107. package/dist/codegen/generators/typescript/channels/protocols/websocket/subscribe.d.ts +3 -0
  108. package/dist/codegen/generators/typescript/channels/protocols/websocket/subscribe.js +151 -0
  109. package/dist/codegen/generators/typescript/channels/types.d.ts +181 -0
  110. package/dist/codegen/generators/typescript/channels/types.js +131 -0
  111. package/dist/codegen/generators/typescript/channels/utils.d.ts +64 -0
  112. package/dist/codegen/generators/typescript/channels/utils.js +163 -0
  113. package/dist/codegen/generators/typescript/client/index.d.ts +8 -0
  114. package/dist/codegen/generators/typescript/client/index.js +61 -0
  115. package/dist/codegen/generators/typescript/client/protocols/nats/corePublish.d.ts +6 -0
  116. package/dist/codegen/generators/typescript/client/protocols/nats/corePublish.js +53 -0
  117. package/dist/codegen/generators/typescript/client/protocols/nats/coreSubscribe.d.ts +6 -0
  118. package/dist/codegen/generators/typescript/client/protocols/nats/coreSubscribe.js +90 -0
  119. package/dist/codegen/generators/typescript/client/protocols/nats/jetStreamPullSubscription.d.ts +6 -0
  120. package/dist/codegen/generators/typescript/client/protocols/nats/jetStreamPullSubscription.js +83 -0
  121. package/dist/codegen/generators/typescript/client/protocols/nats/jetstreamPublish.d.ts +6 -0
  122. package/dist/codegen/generators/typescript/client/protocols/nats/jetstreamPublish.js +54 -0
  123. package/dist/codegen/generators/typescript/client/protocols/nats/jetstreamPushSubscription.d.ts +6 -0
  124. package/dist/codegen/generators/typescript/client/protocols/nats/jetstreamPushSubscription.js +82 -0
  125. package/dist/codegen/generators/typescript/client/protocols/nats.d.ts +2 -0
  126. package/dist/codegen/generators/typescript/client/protocols/nats.js +182 -0
  127. package/dist/codegen/generators/typescript/client/types.d.ts +49 -0
  128. package/dist/codegen/generators/typescript/client/types.js +37 -0
  129. package/dist/codegen/generators/typescript/headers.d.ts +54 -0
  130. package/dist/codegen/generators/typescript/headers.js +138 -0
  131. package/dist/codegen/generators/typescript/index.d.ts +7 -0
  132. package/dist/codegen/generators/typescript/index.js +38 -0
  133. package/dist/codegen/generators/typescript/models.d.ts +21761 -0
  134. package/dist/codegen/generators/typescript/models.js +64 -0
  135. package/dist/codegen/generators/typescript/parameters.d.ts +37 -0
  136. package/dist/codegen/generators/typescript/parameters.js +101 -0
  137. package/dist/codegen/generators/typescript/payloads.d.ts +73 -0
  138. package/dist/codegen/generators/typescript/payloads.js +250 -0
  139. package/dist/codegen/generators/typescript/types.d.ts +34 -0
  140. package/dist/codegen/generators/typescript/types.js +70 -0
  141. package/dist/codegen/generators/typescript/utils.d.ts +38 -0
  142. package/dist/codegen/generators/typescript/utils.js +195 -0
  143. package/dist/codegen/index.d.ts +7 -0
  144. package/dist/codegen/index.js +38 -0
  145. package/dist/codegen/inputs/asyncapi/generators/headers.d.ts +3 -0
  146. package/dist/codegen/inputs/asyncapi/generators/headers.js +41 -0
  147. package/dist/codegen/inputs/asyncapi/generators/parameters.d.ts +14 -0
  148. package/dist/codegen/inputs/asyncapi/generators/parameters.js +120 -0
  149. package/dist/codegen/inputs/asyncapi/generators/payloads.d.ts +16 -0
  150. package/dist/codegen/inputs/asyncapi/generators/payloads.js +124 -0
  151. package/dist/codegen/inputs/asyncapi/generators/types.d.ts +9 -0
  152. package/dist/codegen/inputs/asyncapi/generators/types.js +61 -0
  153. package/dist/codegen/inputs/asyncapi/index.d.ts +1 -0
  154. package/dist/codegen/inputs/asyncapi/index.js +7 -0
  155. package/dist/codegen/inputs/asyncapi/parser.d.ts +4 -0
  156. package/dist/codegen/inputs/asyncapi/parser.js +90 -0
  157. package/dist/codegen/inputs/index.d.ts +3 -0
  158. package/dist/codegen/inputs/index.js +19 -0
  159. package/dist/codegen/inputs/jsonschema/generators/index.d.ts +1 -0
  160. package/dist/codegen/inputs/jsonschema/generators/index.js +5 -0
  161. package/dist/codegen/inputs/jsonschema/generators/models.d.ts +7 -0
  162. package/dist/codegen/inputs/jsonschema/generators/models.js +26 -0
  163. package/dist/codegen/inputs/jsonschema/index.d.ts +1 -0
  164. package/dist/codegen/inputs/jsonschema/index.js +7 -0
  165. package/dist/codegen/inputs/jsonschema/parser.d.ts +31 -0
  166. package/dist/codegen/inputs/jsonschema/parser.js +128 -0
  167. package/dist/codegen/inputs/openapi/generators/headers.d.ts +3 -0
  168. package/dist/codegen/inputs/openapi/generators/headers.js +101 -0
  169. package/dist/codegen/inputs/openapi/generators/parameters.d.ts +10 -0
  170. package/dist/codegen/inputs/openapi/generators/parameters.js +852 -0
  171. package/dist/codegen/inputs/openapi/generators/payloads.d.ts +3 -0
  172. package/dist/codegen/inputs/openapi/generators/payloads.js +231 -0
  173. package/dist/codegen/inputs/openapi/generators/types.d.ts +9 -0
  174. package/dist/codegen/inputs/openapi/generators/types.js +86 -0
  175. package/dist/codegen/inputs/openapi/index.d.ts +2 -0
  176. package/dist/codegen/inputs/openapi/index.js +8 -0
  177. package/dist/codegen/inputs/openapi/parser.d.ts +4 -0
  178. package/dist/codegen/inputs/openapi/parser.js +115 -0
  179. package/dist/codegen/inputs/openapi/security.d.ts +56 -0
  180. package/dist/codegen/inputs/openapi/security.js +193 -0
  181. package/dist/codegen/modelina/index.d.ts +2 -0
  182. package/dist/codegen/modelina/index.js +20 -0
  183. package/dist/codegen/modelina/presets/index.d.ts +3 -0
  184. package/dist/codegen/modelina/presets/index.js +14 -0
  185. package/dist/codegen/modelina/presets/primitives.d.ts +34 -0
  186. package/dist/codegen/modelina/presets/primitives.js +211 -0
  187. package/dist/codegen/modelina/presets/union.d.ts +33 -0
  188. package/dist/codegen/modelina/presets/union.js +197 -0
  189. package/dist/codegen/modelina/presets/validation.d.ts +66 -0
  190. package/dist/codegen/modelina/presets/validation.js +183 -0
  191. package/dist/codegen/modelina/types.d.ts +61845 -0
  192. package/dist/codegen/modelina/types.js +412 -0
  193. package/dist/codegen/output/filesystem.d.ts +30 -0
  194. package/dist/codegen/output/filesystem.js +61 -0
  195. package/dist/codegen/output/index.d.ts +16 -0
  196. package/dist/codegen/output/index.js +57 -0
  197. package/dist/codegen/output/memory.d.ts +54 -0
  198. package/dist/codegen/output/memory.js +81 -0
  199. package/dist/codegen/output/modelina.d.ts +30 -0
  200. package/dist/codegen/output/modelina.js +30 -0
  201. package/dist/codegen/output/types.d.ts +47 -0
  202. package/dist/codegen/output/types.js +6 -0
  203. package/dist/codegen/renderer.d.ts +13 -0
  204. package/dist/codegen/renderer.js +309 -0
  205. package/dist/codegen/schemaPostProcess.d.ts +25 -0
  206. package/dist/codegen/schemaPostProcess.js +38 -0
  207. package/dist/codegen/types.d.ts +285187 -0
  208. package/dist/codegen/types.js +177 -0
  209. package/dist/codegen/utils.d.ts +126 -0
  210. package/dist/codegen/utils.js +373 -0
  211. package/dist/commands/base.d.ts +18 -0
  212. package/dist/commands/base.js +59 -0
  213. package/dist/commands/generate.d.ts +46 -0
  214. package/dist/commands/generate.js +305 -0
  215. package/dist/commands/init.d.ts +55 -0
  216. package/dist/commands/init.js +544 -0
  217. package/dist/commands/telemetry.d.ts +25 -0
  218. package/dist/commands/telemetry.js +115 -0
  219. package/dist/index.d.ts +29 -0
  220. package/dist/index.js +35 -0
  221. package/dist/telemetry/anonymize.d.ts +19 -0
  222. package/dist/telemetry/anonymize.js +73 -0
  223. package/dist/telemetry/collector.d.ts +26 -0
  224. package/dist/telemetry/collector.js +57 -0
  225. package/dist/telemetry/config.d.ts +32 -0
  226. package/dist/telemetry/config.js +97 -0
  227. package/dist/telemetry/events.d.ts +72 -0
  228. package/dist/telemetry/events.js +5 -0
  229. package/dist/telemetry/index.d.ts +46 -0
  230. package/dist/telemetry/index.js +91 -0
  231. package/dist/telemetry/notice.d.ts +8 -0
  232. package/dist/telemetry/notice.js +50 -0
  233. package/dist/telemetry/sender.d.ts +14 -0
  234. package/dist/telemetry/sender.js +125 -0
  235. package/dist/utils/gitignore.d.ts +66 -0
  236. package/dist/utils/gitignore.js +111 -0
  237. package/dist/utils/inputSource.d.ts +3 -0
  238. package/dist/utils/inputSource.js +26 -0
  239. package/dist/utils/refResolvers.d.ts +29 -0
  240. package/dist/utils/refResolvers.js +83 -0
  241. package/dist/utils/remoteFetch.d.ts +18 -0
  242. package/dist/utils/remoteFetch.js +64 -0
  243. package/oclif.manifest.json +510 -0
  244. package/package.json +155 -0
@@ -0,0 +1,29 @@
1
+ export { run } from '@oclif/core';
2
+ export { AsyncAPIDocumentInterface } from '@asyncapi/parser';
3
+ export { defaultTypeScriptChannelsGenerator, defaultTypeScriptParametersOptions, defaultTypeScriptPayloadGenerator, defaultTypeScriptClientGenerator, defaultCustomGenerator, TypeScriptClientGenerator, TypeScriptChannelsGenerator, TypeScriptPayloadGenerator, TypescriptParametersGenerator, generateTypeScriptChannels, generateTypescriptParameters, generateTypescriptPayload, RunGeneratorContext, SupportedLanguages, PresetTypes, TheCodegenConfiguration, TheCodegenConfigurationInternal, zodAsyncAPICodegenConfiguration, zodAsyncAPIGenerators, zodAsyncAPITypeScriptGenerators, zodTheCodegenConfiguration, Generators, GenericCodegenContext, LoadArgument, ParameterRenderType, PayloadRenderType, SingleFunctionRenderType, runGenerators, loadAsyncapi, loadJsonSchema, getDefaultConfiguration, renderGenerator, realizeConfiguration, loadAndRealizeConfigFile, loadConfigFile, realizeGeneratorContext, ChannelFunctionTypes } from './codegen';
4
+ export declare const modelina: {
5
+ TS_COMMON_PRESET: Partial<{
6
+ class: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").ClassPresetType<import("@asyncapi/modelina").TypeScriptCommonPresetOptions>;
7
+ interface: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").InterfacePresetType<import("@asyncapi/modelina").TypeScriptCommonPresetOptions>;
8
+ enum: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").EnumPresetType<import("@asyncapi/modelina").TypeScriptCommonPresetOptions>;
9
+ type: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").TypePresetType<import("@asyncapi/modelina").TypeScriptCommonPresetOptions>;
10
+ }>;
11
+ TS_DESCRIPTION_PRESET: Partial<{
12
+ class: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").ClassPresetType<any>;
13
+ interface: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").InterfacePresetType<any>;
14
+ enum: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").EnumPresetType<any>;
15
+ type: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").TypePresetType<any>;
16
+ }>;
17
+ TS_DEFAULT_PRESET: Partial<{
18
+ class: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").ClassPresetType<import("@asyncapi/modelina").TypeScriptOptions>;
19
+ interface: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").InterfacePresetType<import("@asyncapi/modelina").TypeScriptOptions>;
20
+ enum: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").EnumPresetType<import("@asyncapi/modelina").TypeScriptOptions>;
21
+ type: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").TypePresetType<import("@asyncapi/modelina").TypeScriptOptions>;
22
+ }>;
23
+ TS_JSONBINPACK_PRESET: Partial<{
24
+ class: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").ClassPresetType<any>;
25
+ interface: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").InterfacePresetType<any>;
26
+ enum: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").EnumPresetType<any>;
27
+ type: import("@asyncapi/modelina/lib/types/generators/typescript/TypeScriptPreset").TypePresetType<any>;
28
+ }>;
29
+ };
package/dist/index.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.modelina = exports.ChannelFunctionTypes = exports.realizeGeneratorContext = exports.loadConfigFile = exports.loadAndRealizeConfigFile = exports.realizeConfiguration = exports.renderGenerator = exports.getDefaultConfiguration = exports.loadJsonSchema = exports.loadAsyncapi = exports.runGenerators = exports.zodTheCodegenConfiguration = exports.zodAsyncAPITypeScriptGenerators = exports.zodAsyncAPIGenerators = exports.zodAsyncAPICodegenConfiguration = exports.generateTypescriptPayload = exports.generateTypescriptParameters = exports.generateTypeScriptChannels = exports.defaultCustomGenerator = exports.defaultTypeScriptClientGenerator = exports.defaultTypeScriptPayloadGenerator = exports.defaultTypeScriptParametersOptions = exports.defaultTypeScriptChannelsGenerator = exports.run = void 0;
4
+ var core_1 = require("@oclif/core");
5
+ Object.defineProperty(exports, "run", { enumerable: true, get: function () { return core_1.run; } });
6
+ var codegen_1 = require("./codegen");
7
+ Object.defineProperty(exports, "defaultTypeScriptChannelsGenerator", { enumerable: true, get: function () { return codegen_1.defaultTypeScriptChannelsGenerator; } });
8
+ Object.defineProperty(exports, "defaultTypeScriptParametersOptions", { enumerable: true, get: function () { return codegen_1.defaultTypeScriptParametersOptions; } });
9
+ Object.defineProperty(exports, "defaultTypeScriptPayloadGenerator", { enumerable: true, get: function () { return codegen_1.defaultTypeScriptPayloadGenerator; } });
10
+ Object.defineProperty(exports, "defaultTypeScriptClientGenerator", { enumerable: true, get: function () { return codegen_1.defaultTypeScriptClientGenerator; } });
11
+ Object.defineProperty(exports, "defaultCustomGenerator", { enumerable: true, get: function () { return codegen_1.defaultCustomGenerator; } });
12
+ Object.defineProperty(exports, "generateTypeScriptChannels", { enumerable: true, get: function () { return codegen_1.generateTypeScriptChannels; } });
13
+ Object.defineProperty(exports, "generateTypescriptParameters", { enumerable: true, get: function () { return codegen_1.generateTypescriptParameters; } });
14
+ Object.defineProperty(exports, "generateTypescriptPayload", { enumerable: true, get: function () { return codegen_1.generateTypescriptPayload; } });
15
+ Object.defineProperty(exports, "zodAsyncAPICodegenConfiguration", { enumerable: true, get: function () { return codegen_1.zodAsyncAPICodegenConfiguration; } });
16
+ Object.defineProperty(exports, "zodAsyncAPIGenerators", { enumerable: true, get: function () { return codegen_1.zodAsyncAPIGenerators; } });
17
+ Object.defineProperty(exports, "zodAsyncAPITypeScriptGenerators", { enumerable: true, get: function () { return codegen_1.zodAsyncAPITypeScriptGenerators; } });
18
+ Object.defineProperty(exports, "zodTheCodegenConfiguration", { enumerable: true, get: function () { return codegen_1.zodTheCodegenConfiguration; } });
19
+ Object.defineProperty(exports, "runGenerators", { enumerable: true, get: function () { return codegen_1.runGenerators; } });
20
+ Object.defineProperty(exports, "loadAsyncapi", { enumerable: true, get: function () { return codegen_1.loadAsyncapi; } });
21
+ Object.defineProperty(exports, "loadJsonSchema", { enumerable: true, get: function () { return codegen_1.loadJsonSchema; } });
22
+ Object.defineProperty(exports, "getDefaultConfiguration", { enumerable: true, get: function () { return codegen_1.getDefaultConfiguration; } });
23
+ Object.defineProperty(exports, "renderGenerator", { enumerable: true, get: function () { return codegen_1.renderGenerator; } });
24
+ Object.defineProperty(exports, "realizeConfiguration", { enumerable: true, get: function () { return codegen_1.realizeConfiguration; } });
25
+ Object.defineProperty(exports, "loadAndRealizeConfigFile", { enumerable: true, get: function () { return codegen_1.loadAndRealizeConfigFile; } });
26
+ Object.defineProperty(exports, "loadConfigFile", { enumerable: true, get: function () { return codegen_1.loadConfigFile; } });
27
+ Object.defineProperty(exports, "realizeGeneratorContext", { enumerable: true, get: function () { return codegen_1.realizeGeneratorContext; } });
28
+ Object.defineProperty(exports, "ChannelFunctionTypes", { enumerable: true, get: function () { return codegen_1.ChannelFunctionTypes; } });
29
+ const modelina_1 = require("@asyncapi/modelina");
30
+ exports.modelina = {
31
+ TS_COMMON_PRESET: modelina_1.TS_COMMON_PRESET,
32
+ TS_DESCRIPTION_PRESET: modelina_1.TS_DESCRIPTION_PRESET,
33
+ TS_DEFAULT_PRESET: modelina_1.TS_DEFAULT_PRESET,
34
+ TS_JSONBINPACK_PRESET: modelina_1.TS_JSONBINPACK_PRESET
35
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Re-export the canonical helper from `src/utils/inputSource.ts`. The
3
+ * telemetry surface is unchanged; the helper now lives next to the rest
4
+ * of the URL-detection code so it can be shared with the input loaders.
5
+ */
6
+ export { getInputSourceType } from '../utils/inputSource';
7
+ /**
8
+ * Detect if running in a CI environment.
9
+ * Checks common CI environment variables.
10
+ */
11
+ export declare function isCIEnvironment(): boolean;
12
+ /**
13
+ * Categorize an error for telemetry purposes.
14
+ * Only returns the error category, not the actual error message or details.
15
+ *
16
+ * @param error - The error to categorize
17
+ * @returns Error category string
18
+ */
19
+ export declare function categorizeError(error: unknown): string;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.categorizeError = exports.isCIEnvironment = exports.getInputSourceType = void 0;
4
+ /* eslint-disable no-undef */
5
+ /**
6
+ * Re-export the canonical helper from `src/utils/inputSource.ts`. The
7
+ * telemetry surface is unchanged; the helper now lives next to the rest
8
+ * of the URL-detection code so it can be shared with the input loaders.
9
+ */
10
+ var inputSource_1 = require("../utils/inputSource");
11
+ Object.defineProperty(exports, "getInputSourceType", { enumerable: true, get: function () { return inputSource_1.getInputSourceType; } });
12
+ /**
13
+ * Detect if running in a CI environment.
14
+ * Checks common CI environment variables.
15
+ */
16
+ function isCIEnvironment() {
17
+ return Boolean(process.env.CI || // Generic CI indicator
18
+ process.env.GITHUB_ACTIONS ||
19
+ process.env.GITLAB_CI ||
20
+ process.env.CIRCLECI ||
21
+ process.env.TRAVIS ||
22
+ process.env.JENKINS_URL ||
23
+ process.env.BITBUCKET_PIPELINE_UUID ||
24
+ process.env.CODEBUILD_BUILD_ID ||
25
+ process.env.TEAMCITY_VERSION ||
26
+ process.env.BUILDKITE);
27
+ }
28
+ exports.isCIEnvironment = isCIEnvironment;
29
+ /**
30
+ * Categorize an error for telemetry purposes.
31
+ * Only returns the error category, not the actual error message or details.
32
+ *
33
+ * @param error - The error to categorize
34
+ * @returns Error category string
35
+ */
36
+ function categorizeError(error) {
37
+ if (!error) {
38
+ return 'unknown_error';
39
+ }
40
+ const errorMessage = error instanceof Error
41
+ ? error.message.toLowerCase()
42
+ : String(error).toLowerCase();
43
+ // Configuration errors
44
+ if (errorMessage.includes('config') ||
45
+ errorMessage.includes('configuration')) {
46
+ return 'configuration_error';
47
+ }
48
+ // File system errors
49
+ if (errorMessage.includes('enoent') ||
50
+ errorMessage.includes('file not found')) {
51
+ return 'file_not_found';
52
+ }
53
+ // Network errors
54
+ if (errorMessage.includes('network') ||
55
+ errorMessage.includes('fetch') ||
56
+ errorMessage.includes('http')) {
57
+ return 'network_error';
58
+ }
59
+ // Parse errors
60
+ if (errorMessage.includes('parse') || errorMessage.includes('syntax')) {
61
+ return 'parse_error';
62
+ }
63
+ // Validation errors
64
+ if (errorMessage.includes('validation') || errorMessage.includes('invalid')) {
65
+ return 'validation_error';
66
+ }
67
+ // Permission errors
68
+ if (errorMessage.includes('permission') || errorMessage.includes('eacces')) {
69
+ return 'permission_error';
70
+ }
71
+ return 'unknown_error';
72
+ }
73
+ exports.categorizeError = categorizeError;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Get CLI version from package.json
3
+ */
4
+ export declare function getCliVersion(): string;
5
+ /**
6
+ * Get Node.js version
7
+ */
8
+ export declare function getNodeVersion(): string;
9
+ /**
10
+ * Get operating system platform
11
+ */
12
+ export declare function getOSPlatform(): string;
13
+ /**
14
+ * Check if running in CI environment
15
+ */
16
+ export declare function isCI(): boolean;
17
+ /**
18
+ * Collect common system information for telemetry events.
19
+ * This data is added to all telemetry events.
20
+ */
21
+ export declare function collectSystemInfo(): {
22
+ cli_version: string;
23
+ node_version: string;
24
+ os: string;
25
+ ci: boolean;
26
+ };
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.collectSystemInfo = exports.isCI = exports.getOSPlatform = exports.getNodeVersion = exports.getCliVersion = void 0;
7
+ /* eslint-disable no-undef */
8
+ const os_1 = __importDefault(require("os"));
9
+ const anonymize_1 = require("./anonymize");
10
+ /**
11
+ * Get CLI version from package.json
12
+ */
13
+ function getCliVersion() {
14
+ try {
15
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
16
+ const packageJson = require('../../package.json');
17
+ return packageJson.version || 'unknown';
18
+ }
19
+ catch {
20
+ return 'unknown';
21
+ }
22
+ }
23
+ exports.getCliVersion = getCliVersion;
24
+ /**
25
+ * Get Node.js version
26
+ */
27
+ function getNodeVersion() {
28
+ return process.version;
29
+ }
30
+ exports.getNodeVersion = getNodeVersion;
31
+ /**
32
+ * Get operating system platform
33
+ */
34
+ function getOSPlatform() {
35
+ return os_1.default.platform();
36
+ }
37
+ exports.getOSPlatform = getOSPlatform;
38
+ /**
39
+ * Check if running in CI environment
40
+ */
41
+ function isCI() {
42
+ return (0, anonymize_1.isCIEnvironment)();
43
+ }
44
+ exports.isCI = isCI;
45
+ /**
46
+ * Collect common system information for telemetry events.
47
+ * This data is added to all telemetry events.
48
+ */
49
+ function collectSystemInfo() {
50
+ return {
51
+ cli_version: getCliVersion(),
52
+ node_version: getNodeVersion(),
53
+ os: getOSPlatform(),
54
+ ci: isCI()
55
+ };
56
+ }
57
+ exports.collectSystemInfo = collectSystemInfo;
@@ -0,0 +1,32 @@
1
+ import { TelemetryConfig } from '../PersistedConfig';
2
+ import { ProjectTelemetryConfig } from '../codegen/types';
3
+ /**
4
+ * Get telemetry configuration with proper priority order.
5
+ * This function never throws - returns disabled config on any error.
6
+ *
7
+ * Priority order (highest to lowest):
8
+ * 1. Environment variable overrides (highest priority):
9
+ * - CODEGEN_TELEMETRY_DISABLED / DO_NOT_TRACK: disable telemetry
10
+ * - CODEGEN_TELEMETRY_ENDPOINT: custom analytics endpoint
11
+ * - CODEGEN_TELEMETRY_ID: custom tracking ID
12
+ * - CODEGEN_TELEMETRY_API_SECRET: custom API secret
13
+ * 2. Project-level config (from codegen.config.js)
14
+ * 3. Global config file (~/.the-codegen-project/config.json)
15
+ *
16
+ * @param projectConfig - Optional project-level telemetry config from codegen.config.js
17
+ * @returns Promise resolving to telemetry configuration
18
+ */
19
+ export declare function getTelemetryConfig(projectConfig?: ProjectTelemetryConfig): Promise<TelemetryConfig>;
20
+ /**
21
+ * Enable telemetry.
22
+ * Updates the global config file to enable telemetry.
23
+ * This function never throws - fails silently on errors.
24
+ */
25
+ export declare function setTelemetryEnabled(enabled: boolean): Promise<void>;
26
+ /**
27
+ * Check if telemetry is enabled.
28
+ * Checks environment variables and global config.
29
+ *
30
+ * @returns Promise resolving to true if telemetry is enabled, false otherwise
31
+ */
32
+ export declare function isTelemetryEnabled(): Promise<boolean>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTelemetryEnabled = exports.setTelemetryEnabled = exports.getTelemetryConfig = void 0;
4
+ /* eslint-disable no-undef */
5
+ /* eslint-disable no-console */
6
+ const LoggingInterface_1 = require("../LoggingInterface");
7
+ const PersistedConfig_1 = require("../PersistedConfig");
8
+ /**
9
+ * Get telemetry configuration with proper priority order.
10
+ * This function never throws - returns disabled config on any error.
11
+ *
12
+ * Priority order (highest to lowest):
13
+ * 1. Environment variable overrides (highest priority):
14
+ * - CODEGEN_TELEMETRY_DISABLED / DO_NOT_TRACK: disable telemetry
15
+ * - CODEGEN_TELEMETRY_ENDPOINT: custom analytics endpoint
16
+ * - CODEGEN_TELEMETRY_ID: custom tracking ID
17
+ * - CODEGEN_TELEMETRY_API_SECRET: custom API secret
18
+ * 2. Project-level config (from codegen.config.js)
19
+ * 3. Global config file (~/.the-codegen-project/config.json)
20
+ *
21
+ * @param projectConfig - Optional project-level telemetry config from codegen.config.js
22
+ * @returns Promise resolving to telemetry configuration
23
+ */
24
+ async function getTelemetryConfig(projectConfig) {
25
+ try {
26
+ const globalConfig = await (0, PersistedConfig_1.getGlobalConfig)();
27
+ const telemetryConfig = {
28
+ ...globalConfig.telemetry,
29
+ ...(projectConfig ?? {})
30
+ };
31
+ // Apply environment variable overrides (highest priority)
32
+ if (process.env.CODEGEN_TELEMETRY_DISABLED === '1' ||
33
+ process.env.DO_NOT_TRACK) {
34
+ telemetryConfig.enabled = false;
35
+ }
36
+ if (process.env.CODEGEN_TELEMETRY_ENDPOINT) {
37
+ telemetryConfig.endpoint = process.env.CODEGEN_TELEMETRY_ENDPOINT;
38
+ }
39
+ if (process.env.CODEGEN_TELEMETRY_ID) {
40
+ telemetryConfig.trackingId = process.env.CODEGEN_TELEMETRY_ID;
41
+ }
42
+ if (process.env.CODEGEN_TELEMETRY_API_SECRET) {
43
+ telemetryConfig.apiSecret = process.env.CODEGEN_TELEMETRY_API_SECRET;
44
+ }
45
+ return telemetryConfig;
46
+ }
47
+ catch (error) {
48
+ // On any error, return disabled config
49
+ if (process.env.CODEGEN_TELEMETRY_DEBUG === '1') {
50
+ LoggingInterface_1.Logger.error('Failed to get telemetry config:', error);
51
+ }
52
+ return createDisabledTelemetryConfig();
53
+ }
54
+ }
55
+ exports.getTelemetryConfig = getTelemetryConfig;
56
+ /**
57
+ * Enable telemetry.
58
+ * Updates the global config file to enable telemetry.
59
+ * This function never throws - fails silently on errors.
60
+ */
61
+ async function setTelemetryEnabled(enabled) {
62
+ try {
63
+ const globalConfig = await (0, PersistedConfig_1.getGlobalConfig)();
64
+ globalConfig.telemetry.enabled = enabled;
65
+ await (0, PersistedConfig_1.updateGlobalConfig)(globalConfig);
66
+ }
67
+ catch (error) {
68
+ if (process.env.CODEGEN_TELEMETRY_DEBUG === '1') {
69
+ LoggingInterface_1.Logger.error('Failed to set telemetry enabled state:', error);
70
+ }
71
+ // Fail silently
72
+ }
73
+ }
74
+ exports.setTelemetryEnabled = setTelemetryEnabled;
75
+ /**
76
+ * Check if telemetry is enabled.
77
+ * Checks environment variables and global config.
78
+ *
79
+ * @returns Promise resolving to true if telemetry is enabled, false otherwise
80
+ */
81
+ async function isTelemetryEnabled() {
82
+ const config = await getTelemetryConfig();
83
+ return config.enabled;
84
+ }
85
+ exports.isTelemetryEnabled = isTelemetryEnabled;
86
+ /**
87
+ * Create a disabled telemetry configuration.
88
+ */
89
+ function createDisabledTelemetryConfig() {
90
+ return {
91
+ enabled: false,
92
+ anonymousId: '',
93
+ endpoint: '',
94
+ trackingId: '',
95
+ apiSecret: ''
96
+ };
97
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Telemetry event type definitions
3
+ */
4
+ /**
5
+ * Base telemetry event interface
6
+ */
7
+ export interface TelemetryEvent {
8
+ event: string;
9
+ [key: string]: any;
10
+ }
11
+ /**
12
+ * Command execution event
13
+ */
14
+ export interface CommandExecutedEvent extends TelemetryEvent {
15
+ event: 'command_executed';
16
+ command: string;
17
+ flags: string[];
18
+ input_source?: 'remote_url' | 'local_relative' | 'local_absolute';
19
+ input_type?: 'asyncapi' | 'openapi' | 'jsonschema';
20
+ generators?: string[];
21
+ generator_count?: number;
22
+ duration: number;
23
+ success: boolean;
24
+ error_type?: string;
25
+ cli_version: string;
26
+ node_version: string;
27
+ os: string;
28
+ ci: boolean;
29
+ }
30
+ /**
31
+ * Generator usage event
32
+ */
33
+ export interface GeneratorUsedEvent extends TelemetryEvent {
34
+ event: 'generator_used';
35
+ generator_type: string;
36
+ input_type: 'asyncapi' | 'openapi' | 'jsonschema';
37
+ input_source?: 'remote_url' | 'local_relative' | 'local_absolute';
38
+ language: string;
39
+ options: Record<string, any>;
40
+ duration: number;
41
+ success: boolean;
42
+ }
43
+ /**
44
+ * Init command event
45
+ */
46
+ export interface InitExecutedEvent extends TelemetryEvent {
47
+ event: 'init_executed';
48
+ config_type: 'esm' | 'json' | 'yaml' | 'ts';
49
+ input_type?: string;
50
+ generators: string[];
51
+ language?: string;
52
+ completed: boolean;
53
+ }
54
+ /**
55
+ * Error event
56
+ */
57
+ export interface ErrorOccurredEvent extends TelemetryEvent {
58
+ event: 'error_occurred';
59
+ command: string;
60
+ error_type: string;
61
+ error_code?: string;
62
+ cli_version: string;
63
+ node_version: string;
64
+ }
65
+ /**
66
+ * Watch mode event
67
+ */
68
+ export interface WatchModeEvent extends TelemetryEvent {
69
+ event: 'watch_mode_started';
70
+ command: string;
71
+ watch_duration?: number;
72
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * Telemetry event type definitions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,46 @@
1
+ import { TelemetryEvent } from './events';
2
+ import { ProjectTelemetryConfig } from '../codegen/types';
3
+ export * from './events';
4
+ export * from './config';
5
+ export * from './anonymize';
6
+ export * from './collector';
7
+ /**
8
+ * Track a telemetry event.
9
+ *
10
+ * **IMPORTANT**: This function is designed to NEVER throw or reject.
11
+ * It is safe to call without .catch() or try/catch.
12
+ * All errors are handled internally and logged only in debug mode.
13
+ *
14
+ * The function automatically:
15
+ * - Shows first-run notice if needed
16
+ * - Adds system information to the event
17
+ * - Applies project-level config overrides if provided
18
+ * - Sends the event to the configured endpoint
19
+ * - Handles all errors gracefully
20
+ *
21
+ * Priority order for configuration:
22
+ * 1. Environment variables (highest priority)
23
+ * 2. Project-level config (from codegen.config.js)
24
+ * 3. Global config (from ~/.the-codegen-project/config.json)
25
+ *
26
+ * @param event - The event data to track
27
+ * @param projectConfig - Optional project-level telemetry config from codegen.config.js
28
+ * @returns Promise that always resolves (never rejects)
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Fire and forget - safe to call without await or .catch()
33
+ * void trackEvent({
34
+ * event: 'command_executed',
35
+ * command: 'generate',
36
+ * success: true
37
+ * });
38
+ *
39
+ * // With project config override
40
+ * void trackEvent({
41
+ * event: 'generator_used',
42
+ * generator_type: 'payloads'
43
+ * }, config.telemetry);
44
+ * ```
45
+ */
46
+ export declare function trackEvent(event: TelemetryEvent, projectConfig?: ProjectTelemetryConfig): Promise<void>;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.trackEvent = void 0;
18
+ /* eslint-disable no-undef */
19
+ /* eslint-disable no-console */
20
+ const sender_1 = require("./sender");
21
+ const notice_1 = require("./notice");
22
+ const collector_1 = require("./collector");
23
+ const LoggingInterface_1 = require("../LoggingInterface");
24
+ __exportStar(require("./events"), exports);
25
+ __exportStar(require("./config"), exports);
26
+ __exportStar(require("./anonymize"), exports);
27
+ __exportStar(require("./collector"), exports);
28
+ /**
29
+ * Track a telemetry event.
30
+ *
31
+ * **IMPORTANT**: This function is designed to NEVER throw or reject.
32
+ * It is safe to call without .catch() or try/catch.
33
+ * All errors are handled internally and logged only in debug mode.
34
+ *
35
+ * The function automatically:
36
+ * - Shows first-run notice if needed
37
+ * - Adds system information to the event
38
+ * - Applies project-level config overrides if provided
39
+ * - Sends the event to the configured endpoint
40
+ * - Handles all errors gracefully
41
+ *
42
+ * Priority order for configuration:
43
+ * 1. Environment variables (highest priority)
44
+ * 2. Project-level config (from codegen.config.js)
45
+ * 3. Global config (from ~/.the-codegen-project/config.json)
46
+ *
47
+ * @param event - The event data to track
48
+ * @param projectConfig - Optional project-level telemetry config from codegen.config.js
49
+ * @returns Promise that always resolves (never rejects)
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // Fire and forget - safe to call without await or .catch()
54
+ * void trackEvent({
55
+ * event: 'command_executed',
56
+ * command: 'generate',
57
+ * success: true
58
+ * });
59
+ *
60
+ * // With project config override
61
+ * void trackEvent({
62
+ * event: 'generator_used',
63
+ * generator_type: 'payloads'
64
+ * }, config.telemetry);
65
+ * ```
66
+ */
67
+ async function trackEvent(event, projectConfig) {
68
+ try {
69
+ // Debug mode: log the event being tracked
70
+ if (process.env.CODEGEN_TELEMETRY_DEBUG === '1') {
71
+ LoggingInterface_1.Logger.info('[Telemetry Debug] Tracking event:', JSON.stringify(event, null, 2));
72
+ }
73
+ // Show notice on first run (also safe, never throws)
74
+ await (0, notice_1.showTelemetryNoticeIfNeeded)();
75
+ // Add system information to event
76
+ const enrichedEvent = {
77
+ ...event,
78
+ ...(0, collector_1.collectSystemInfo)()
79
+ };
80
+ // Send event with project config (also safe, never throws)
81
+ await (0, sender_1.sendEvent)(enrichedEvent, projectConfig);
82
+ }
83
+ catch (error) {
84
+ // This should never happen, but just in case
85
+ if (process.env.CODEGEN_TELEMETRY_DEBUG === '1') {
86
+ LoggingInterface_1.Logger.error('[Telemetry Debug] Unexpected error in trackEvent:', error);
87
+ }
88
+ // Always resolve
89
+ }
90
+ }
91
+ exports.trackEvent = trackEvent;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Show telemetry notice on first run.
3
+ * This function never throws - fails silently on errors.
4
+ *
5
+ * The notice informs users that telemetry is enabled and how to disable it.
6
+ * After showing the notice once, it sets a flag to prevent showing it again.
7
+ */
8
+ export declare function showTelemetryNoticeIfNeeded(): Promise<void>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.showTelemetryNoticeIfNeeded = void 0;
4
+ /* eslint-disable no-undef */
5
+ /* eslint-disable no-console */
6
+ const PersistedConfig_1 = require("../PersistedConfig");
7
+ const LoggingInterface_1 = require("../LoggingInterface");
8
+ /**
9
+ * Show telemetry notice on first run.
10
+ * This function never throws - fails silently on errors.
11
+ *
12
+ * The notice informs users that telemetry is enabled and how to disable it.
13
+ * After showing the notice once, it sets a flag to prevent showing it again.
14
+ */
15
+ async function showTelemetryNoticeIfNeeded() {
16
+ try {
17
+ const globalConfig = await (0, PersistedConfig_1.getGlobalConfig)();
18
+ // Skip if already shown or if telemetry is disabled
19
+ if (globalConfig.hasShownTelemetryNotice ||
20
+ !globalConfig.telemetry.enabled) {
21
+ return;
22
+ }
23
+ // Skip in CI environments (no need to show notice)
24
+ if (process.env.CI === 'true' || process.env.CI === '1') {
25
+ return;
26
+ }
27
+ // Show the notice
28
+ LoggingInterface_1.Logger.info(`
29
+ ┌─────────────────────────────────────────────────────────────┐
30
+ │ │
31
+ │ The Codegen Project CLI collects anonymous usage data │
32
+ │ to help us improve the tool. │
33
+ │ │
34
+ │ To disable: codegen telemetry disable │
35
+ │ Learn more: https://the-codegen-project.org/docs/telemetry │
36
+ │ │
37
+ └─────────────────────────────────────────────────────────────┘
38
+ `);
39
+ // Mark as shown
40
+ globalConfig.hasShownTelemetryNotice = true;
41
+ await (0, PersistedConfig_1.updateGlobalConfig)(globalConfig);
42
+ }
43
+ catch (error) {
44
+ // Fail silently - notice is not critical
45
+ if (process.env.CODEGEN_TELEMETRY_DEBUG === '1') {
46
+ LoggingInterface_1.Logger.error('[Telemetry Debug] Failed to show notice:', error);
47
+ }
48
+ }
49
+ }
50
+ exports.showTelemetryNoticeIfNeeded = showTelemetryNoticeIfNeeded;