adapty 0.10.0 → 0.12.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 (93) hide show
  1. package/README.md +32 -0
  2. package/dist/cli/base/adapty/flags.d.ts +65 -0
  3. package/dist/cli/base/adapty/flags.js +95 -0
  4. package/dist/cli/base/adapty/index.d.ts +1 -0
  5. package/dist/cli/base/adapty/index.js +1 -0
  6. package/dist/cli/base/attribution/flags.d.ts +3 -3
  7. package/dist/cli/base/attribution/flags.js +5 -20
  8. package/dist/cli/commands/analytics/catalog.d.ts +10 -0
  9. package/dist/cli/commands/analytics/catalog.js +52 -0
  10. package/dist/cli/commands/analytics/chart.d.ts +21 -0
  11. package/dist/cli/commands/analytics/chart.js +47 -0
  12. package/dist/cli/commands/analytics/cohort.d.ts +19 -0
  13. package/dist/cli/commands/analytics/cohort.js +40 -0
  14. package/dist/cli/commands/analytics/conversion.d.ts +20 -0
  15. package/dist/cli/commands/analytics/conversion.js +44 -0
  16. package/dist/cli/commands/analytics/funnel.d.ts +16 -0
  17. package/dist/cli/commands/analytics/funnel.js +32 -0
  18. package/dist/cli/commands/analytics/ltv.d.ts +19 -0
  19. package/dist/cli/commands/analytics/ltv.js +40 -0
  20. package/dist/cli/commands/analytics/retention.d.ts +17 -0
  21. package/dist/cli/commands/analytics/retention.js +41 -0
  22. package/dist/cli/commands/analytics/values.d.ts +11 -0
  23. package/dist/cli/commands/analytics/values.js +33 -0
  24. package/dist/cli/commands/attribution/report/command.js +6 -11
  25. package/dist/cli/errors.js +8 -1
  26. package/dist/cli/input/filter.d.ts +11 -0
  27. package/dist/cli/input/filter.js +16 -0
  28. package/dist/cli/input/period.d.ts +10 -0
  29. package/dist/cli/input/period.js +23 -0
  30. package/dist/cli/views/analytics/csv.d.ts +3 -0
  31. package/dist/cli/views/analytics/csv.js +16 -0
  32. package/dist/cli/views/analytics/human.d.ts +41 -0
  33. package/dist/cli/views/analytics/human.js +134 -0
  34. package/dist/cli/views/analytics/segments.d.ts +68 -0
  35. package/dist/cli/views/analytics/segments.js +185 -0
  36. package/dist/commands/analytics/catalog.d.ts +1 -0
  37. package/dist/commands/analytics/catalog.js +2 -0
  38. package/dist/commands/analytics/chart.d.ts +1 -0
  39. package/dist/commands/analytics/chart.js +2 -0
  40. package/dist/commands/analytics/cohort.d.ts +1 -0
  41. package/dist/commands/analytics/cohort.js +2 -0
  42. package/dist/commands/analytics/conversion.d.ts +1 -0
  43. package/dist/commands/analytics/conversion.js +2 -0
  44. package/dist/commands/analytics/funnel.d.ts +1 -0
  45. package/dist/commands/analytics/funnel.js +2 -0
  46. package/dist/commands/analytics/ltv.d.ts +1 -0
  47. package/dist/commands/analytics/ltv.js +2 -0
  48. package/dist/commands/analytics/retention.d.ts +1 -0
  49. package/dist/commands/analytics/retention.js +2 -0
  50. package/dist/commands/analytics/values.d.ts +1 -0
  51. package/dist/commands/analytics/values.js +2 -0
  52. package/dist/commands/placements/create.js +4 -0
  53. package/dist/commands/placements/update.js +4 -0
  54. package/dist/lib/api-schemas.d.ts +24 -1
  55. package/dist/lib/placement-audiences.d.ts +3 -1
  56. package/dist/lib/placement-audiences.js +16 -9
  57. package/dist/sdk/adapty/analytics/catalog.d.ts +51 -0
  58. package/dist/sdk/adapty/analytics/catalog.js +5 -0
  59. package/dist/sdk/adapty/analytics/chart.d.ts +41 -0
  60. package/dist/sdk/adapty/analytics/chart.js +6 -0
  61. package/dist/sdk/adapty/analytics/cohort.d.ts +79 -0
  62. package/dist/sdk/adapty/analytics/cohort.js +4 -0
  63. package/dist/sdk/adapty/analytics/conversion.d.ts +55 -0
  64. package/dist/sdk/adapty/analytics/conversion.js +7 -0
  65. package/dist/sdk/adapty/analytics/funnel.d.ts +41 -0
  66. package/dist/sdk/adapty/analytics/funnel.js +3 -0
  67. package/dist/sdk/adapty/analytics/index.d.ts +24 -0
  68. package/dist/sdk/adapty/analytics/index.js +13 -0
  69. package/dist/sdk/adapty/analytics/ltv.d.ts +27 -0
  70. package/dist/sdk/adapty/analytics/ltv.js +4 -0
  71. package/dist/sdk/adapty/analytics/model.d.ts +53 -0
  72. package/dist/sdk/adapty/analytics/model.js +12 -0
  73. package/dist/sdk/adapty/analytics/query.d.ts +48 -0
  74. package/dist/sdk/adapty/analytics/query.js +52 -0
  75. package/dist/sdk/adapty/analytics/renewal-periods.d.ts +23 -0
  76. package/dist/sdk/adapty/analytics/renewal-periods.js +27 -0
  77. package/dist/sdk/adapty/analytics/resource.d.ts +29 -0
  78. package/dist/sdk/adapty/analytics/resource.js +72 -0
  79. package/dist/sdk/adapty/analytics/retention.d.ts +32 -0
  80. package/dist/sdk/adapty/analytics/retention.js +6 -0
  81. package/dist/sdk/adapty/analytics/values.d.ts +20 -0
  82. package/dist/sdk/adapty/analytics/values.js +1 -0
  83. package/dist/sdk/adapty/index.d.ts +4 -0
  84. package/dist/sdk/adapty/index.js +3 -0
  85. package/dist/sdk/attribution/index.d.ts +1 -1
  86. package/dist/sdk/attribution/index.js +1 -1
  87. package/dist/sdk/attribution/report.d.ts +0 -2
  88. package/dist/sdk/attribution/report.js +2 -26
  89. package/dist/sdk/core/dates.d.ts +15 -0
  90. package/dist/sdk/core/dates.js +34 -0
  91. package/dist/sdk/core/errors.d.ts +3 -0
  92. package/oclif.manifest.json +898 -134
  93. package/package.json +4 -1
@@ -0,0 +1,15 @@
1
+ import type { Issue } from './errors.js';
2
+ /**
3
+ * Days as the backends take them: `YYYY-MM-DD`, an inclusive range of two. Shared by every product that
4
+ * reads a day range, so a range is checked, and refused, in the same words everywhere.
5
+ */
6
+ /** The `YYYY-MM-DD` shape alone, shared with the adapter's date flag parser. */
7
+ export declare const ISO_DATE: RegExp;
8
+ /**
9
+ * Both ends real days, the end not before the start. `paths` names the two input fields, so the adapter
10
+ * can name the two flags the user typed.
11
+ */
12
+ export declare const validateDayRange: (from: string, to: string, paths: {
13
+ from: string;
14
+ to: string;
15
+ }) => Issue[];
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Days as the backends take them: `YYYY-MM-DD`, an inclusive range of two. Shared by every product that
3
+ * reads a day range, so a range is checked, and refused, in the same words everywhere.
4
+ */
5
+ /** The `YYYY-MM-DD` shape alone, shared with the adapter's date flag parser. */
6
+ export const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/;
7
+ /** The shape alone lets 2026-02-30 through; a round trip through Date does not. */
8
+ const isIsoDate = (value) => {
9
+ if (!ISO_DATE.test(value)) {
10
+ return false;
11
+ }
12
+ const date = new Date(`${value}T00:00:00Z`);
13
+ return !Number.isNaN(date.getTime()) && date.toISOString().startsWith(value);
14
+ };
15
+ /**
16
+ * Both ends real days, the end not before the start. `paths` names the two input fields, so the adapter
17
+ * can name the two flags the user typed.
18
+ */
19
+ export const validateDayRange = (from, to, paths) => {
20
+ const issues = [];
21
+ const fromValid = isIsoDate(from);
22
+ const toValid = isIsoDate(to);
23
+ if (!fromValid) {
24
+ issues.push({ message: 'must be a date in YYYY-MM-DD form', path: paths.from });
25
+ }
26
+ if (!toValid) {
27
+ issues.push({ message: 'must be a date in YYYY-MM-DD form', path: paths.to });
28
+ }
29
+ // ISO days order as strings, but only two real days are worth comparing
30
+ if (fromValid && toValid && to < from) {
31
+ issues.push({ message: 'must not be before the start date', path: paths.to });
32
+ }
33
+ return issues;
34
+ };
@@ -44,6 +44,9 @@ export declare class CancelledError extends SdkError {
44
44
  constructor();
45
45
  }
46
46
  export type Issue = {
47
+ /** The other input fields that `message` names, each written there as `{fieldName}`. */
48
+ fields?: readonly string[] | undefined;
49
+ /** Plain words; another input field appears as `{fieldName}`, listed in `fields`, for the adapter to write. */
47
50
  message: string;
48
51
  /** The input field the problem belongs to. No path: the input as a whole is wrong. */
49
52
  path?: string | undefined;