@mondaydotcomorg/z2h-cli 0.25.4 → 0.25.8

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 (120) hide show
  1. package/dist/auth.d.ts +2 -1
  2. package/dist/auth.d.ts.map +1 -1
  3. package/dist/auth.js +2 -1
  4. package/dist/commands/__tests__/build.test.d.ts +2 -0
  5. package/dist/commands/__tests__/build.test.d.ts.map +1 -0
  6. package/dist/commands/backend.d.ts.map +1 -1
  7. package/dist/commands/backend.js +7 -1
  8. package/dist/commands/build.d.ts.map +1 -1
  9. package/dist/commands/build.js +10 -0
  10. package/dist/commands/deploy.d.ts.map +1 -1
  11. package/dist/commands/deploy.js +42 -19
  12. package/dist/commands/grant.d.ts.map +1 -1
  13. package/dist/commands/grant.js +8 -7
  14. package/dist/esm/auth.d.ts +2 -1
  15. package/dist/esm/auth.d.ts.map +1 -1
  16. package/dist/esm/auth.mjs +2 -1
  17. package/dist/esm/commands/__tests__/build.test.d.ts +2 -0
  18. package/dist/esm/commands/__tests__/build.test.d.ts.map +1 -0
  19. package/dist/esm/commands/backend.d.ts.map +1 -1
  20. package/dist/esm/commands/backend.mjs +7 -1
  21. package/dist/esm/commands/build.d.ts.map +1 -1
  22. package/dist/esm/commands/build.mjs +10 -0
  23. package/dist/esm/commands/deploy.d.ts.map +1 -1
  24. package/dist/esm/commands/deploy.mjs +43 -20
  25. package/dist/esm/commands/grant.d.ts.map +1 -1
  26. package/dist/esm/commands/grant.mjs +8 -7
  27. package/dist/esm/index.mjs +41 -140
  28. package/dist/esm/types.d.ts +23 -0
  29. package/dist/esm/types.d.ts.map +1 -1
  30. package/dist/esm/util/__tests__/errors.test.d.ts +2 -0
  31. package/dist/esm/util/__tests__/errors.test.d.ts.map +1 -0
  32. package/dist/esm/util/__tests__/run-command.test.d.ts +2 -0
  33. package/dist/esm/util/__tests__/run-command.test.d.ts.map +1 -0
  34. package/dist/esm/util/auth/auth-store.d.ts +0 -4
  35. package/dist/esm/util/auth/auth-store.d.ts.map +1 -1
  36. package/dist/esm/util/auth/auth-store.mjs +2 -9
  37. package/dist/esm/util/auth/broker-credential-provider.d.ts.map +1 -1
  38. package/dist/esm/util/auth/broker-credential-provider.mjs +16 -16
  39. package/dist/esm/util/broker/app.d.ts.map +1 -1
  40. package/dist/esm/util/broker/app.mjs +17 -9
  41. package/dist/esm/util/errors.d.ts +48 -0
  42. package/dist/esm/util/errors.d.ts.map +1 -0
  43. package/dist/esm/util/errors.mjs +91 -0
  44. package/dist/esm/util/git/repo.d.ts +0 -3
  45. package/dist/esm/util/git/repo.d.ts.map +1 -1
  46. package/dist/esm/util/git/repo.mjs +4 -9
  47. package/dist/esm/util/logger.d.ts +4 -1
  48. package/dist/esm/util/logger.d.ts.map +1 -1
  49. package/dist/esm/util/logger.mjs +11 -3
  50. package/dist/esm/util/run-command.d.ts +16 -0
  51. package/dist/esm/util/run-command.d.ts.map +1 -0
  52. package/dist/esm/util/run-command.mjs +47 -0
  53. package/dist/esm/util/s3/upload.d.ts.map +1 -1
  54. package/dist/esm/util/s3/upload.mjs +22 -16
  55. package/dist/esm/util/tracker.d.ts +9 -2
  56. package/dist/esm/util/tracker.d.ts.map +1 -1
  57. package/dist/esm/util/tracker.mjs +18 -15
  58. package/dist/index.js +40 -139
  59. package/dist/types.d.ts +23 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/dist/util/__tests__/errors.test.d.ts +2 -0
  62. package/dist/util/__tests__/errors.test.d.ts.map +1 -0
  63. package/dist/util/__tests__/run-command.test.d.ts +2 -0
  64. package/dist/util/__tests__/run-command.test.d.ts.map +1 -0
  65. package/dist/util/auth/auth-store.d.ts +0 -4
  66. package/dist/util/auth/auth-store.d.ts.map +1 -1
  67. package/dist/util/auth/auth-store.js +2 -10
  68. package/dist/util/auth/broker-credential-provider.d.ts.map +1 -1
  69. package/dist/util/auth/broker-credential-provider.js +16 -16
  70. package/dist/util/broker/app.d.ts.map +1 -1
  71. package/dist/util/broker/app.js +17 -9
  72. package/dist/util/errors.d.ts +48 -0
  73. package/dist/util/errors.d.ts.map +1 -0
  74. package/dist/util/errors.js +102 -0
  75. package/dist/util/git/repo.d.ts +0 -3
  76. package/dist/util/git/repo.d.ts.map +1 -1
  77. package/dist/util/git/repo.js +4 -10
  78. package/dist/util/logger.d.ts +4 -1
  79. package/dist/util/logger.d.ts.map +1 -1
  80. package/dist/util/logger.js +11 -3
  81. package/dist/util/run-command.d.ts +16 -0
  82. package/dist/util/run-command.d.ts.map +1 -0
  83. package/dist/util/run-command.js +49 -0
  84. package/dist/util/s3/upload.d.ts.map +1 -1
  85. package/dist/util/s3/upload.js +22 -16
  86. package/dist/util/tracker.d.ts +9 -2
  87. package/dist/util/tracker.d.ts.map +1 -1
  88. package/dist/util/tracker.js +19 -14
  89. package/handler-api/backend-runner/channels/channel-map.ts +6 -12
  90. package/handler-api/backend-runner/channels/channel-telemetry.ts +79 -0
  91. package/handler-api/backend-runner/channels/llm-channel/llm.channel.ts +3 -2
  92. package/handler-api/backend-runner/channels/snowflake-channel/run-query.ts +21 -7
  93. package/handler-api/backend-runner/channels/snowflake-channel/snowflake.channel.ts +14 -2
  94. package/handler-api/backend-runner/channels/snowflake-channel/stateless-part-b.ts +1 -4
  95. package/package.json +2 -2
  96. package/src/auth.ts +2 -1
  97. package/src/commands/__tests__/backend-deploy.test.ts +18 -0
  98. package/src/commands/__tests__/build.test.ts +83 -0
  99. package/src/commands/__tests__/deploy.test.ts +107 -0
  100. package/src/commands/backend.ts +6 -1
  101. package/src/commands/build.ts +10 -0
  102. package/src/commands/deploy.ts +42 -20
  103. package/src/commands/grant.ts +8 -7
  104. package/src/index.ts +84 -133
  105. package/src/types.ts +47 -0
  106. package/src/util/__tests__/errors.test.ts +90 -0
  107. package/src/util/__tests__/run-command.test.ts +98 -0
  108. package/src/util/auth/__tests__/auth-store.test.ts +2 -1
  109. package/src/util/auth/__tests__/broker-credential-provider.test.ts +44 -8
  110. package/src/util/auth/auth-store.ts +1 -7
  111. package/src/util/auth/broker-credential-provider.ts +18 -16
  112. package/src/util/broker/__tests__/app.test.ts +23 -20
  113. package/src/util/broker/app.ts +16 -9
  114. package/src/util/errors.ts +98 -0
  115. package/src/util/git/__tests__/repo.test.ts +5 -3
  116. package/src/util/git/repo.ts +3 -9
  117. package/src/util/logger.ts +16 -3
  118. package/src/util/run-command.ts +59 -0
  119. package/src/util/s3/upload.ts +27 -22
  120. package/src/util/tracker.ts +19 -19
@@ -1,30 +1,30 @@
1
1
  import os from 'node:os';
2
+ import { createRequire } from 'node:module';
3
+ import { createHttpTracker } from '@mondaydotcomorg/z2h-shared-utils/observability';
2
4
 
3
5
  const DOORMAN_URL = 'https://track-int.bigbrain.me/prod/event';
4
6
  const DOORMAN_URL_STAGING = 'https://track-int.bigbrainstaging.me/stage/event';
5
7
 
6
8
  const username = os.userInfo().username;
9
+ const { version: cliVersion } = createRequire(import.meta.url)('@mondaydotcomorg/z2h-cli/package.json') as {
10
+ version: string;
11
+ };
7
12
 
8
13
  const isStaging = process.env.NODE_ENV === 'staging';
9
14
 
10
- export async function trackEvent(name: string, data: Record<string, unknown>): Promise<void> {
11
- const doormanUrl = isStaging ? DOORMAN_URL_STAGING : DOORMAN_URL;
15
+ export const { trackEvent, trackDuration } = createHttpTracker({
16
+ url: isStaging ? DOORMAN_URL_STAGING : DOORMAN_URL,
17
+ source: 'z2h-cli',
18
+ getContext: () => ({ user_name: username, cli_version: cliVersion }),
19
+ });
12
20
 
13
- await fetch(doormanUrl, {
14
- method: 'POST',
15
- headers: { 'Content-Type': 'application/json' },
16
- body: JSON.stringify({ name, source: 'z2h-cli', data: { user_name: username, ...data } }),
17
- signal: AbortSignal.timeout(5000),
18
- }).catch(() => {});
19
- }
20
-
21
- export async function trackDuration<T>(
22
- eventName: string,
23
- fn: () => Promise<T>,
24
- data?: Record<string, unknown>
25
- ): Promise<T> {
26
- const start = Date.now();
27
- const result = await fn();
28
- await trackEvent(eventName, { ...data, duration_ms: Date.now() - start });
29
- return result;
21
+ /**
22
+ * `z2h_cli_<command>_success` — the success-event name for every command, derived by
23
+ * util/run-command.ts's `runCommand()` so no command has to choose one. Nested commands join
24
+ * their path with `_` (`backend invoke` → `z2h_cli_backend_invoke_success`). The one place a
25
+ * command names its own event, `deploy --preview`, still goes through this function so the
26
+ * convention holds everywhere. See CommandSpec's `event` field in types.ts.
27
+ */
28
+ export function successEvent(command: string): string {
29
+ return `z2h_cli_${command.replace(/[\s-]+/g, '_')}_success`;
30
30
  }